Anda di halaman 1dari 16

TALLER 2 SOLUCIONES DE ECUACIONES DIFERENCIALES USANDO MATLAB.

Yourladys Elena Acosta Gutiérrez


Camilo Andrés Cardozo Suarez
Viana Teresa García Moreno
Reinaldo Junior de la Rosa Cervantes
Ejercicio 1.
La figura 1 muestra un tanque de agua (formado por un tronco de cono invertido con una ranura
circular lateral en el fondo). La velocidad de descarga del agua a través de la ranura está dada por
𝑣 = √2𝑔𝑦 . La velocidad de descarga del agua en el tanque cuando el agua drena hacia afuera a
través de la ranura está dada por:

𝑑𝑦 √2𝑔𝑟ℎ2
=−
𝑑𝑡 (2 − 0.5𝑦)2
Donde:
h = altura del agua
g = aceleración de la gravedad (9.81 𝑚/𝑠 2 )
y = altura del agua
𝑟ℎ = radio de la ranura
Escriba un programa en MATLAB para resolver y graficar la ecuación diferencial. El programa debe
estimar el tiempo de vaciado. Suponga que la altura inicial del agua es de 2.5 m.
Solución
Para resolver el ejercicio, entramos a matlab y empezamos a resolver el ejercicio con el método
runge-kutta de cuarto orden.
A continuación, mostramos lo que escribimos en el editor escribiendo edit en la Command Windows:
clear clc
clf

xi=0;
yi=2.5;
h=0.1;

g=9.81;
rh=0.025;

f=@(xi,yi) -sqrt(2*g*yi*rh^2)/((2-0.5*yi)^2);

i=1;

while yi>0.001

k1=f(xi,yi);
k2=f(xi+1/2*h,yi+1/2*k1*h);
k3=f(xi+1/2*h,yi+1/2*k2*h);
k4=f(xi+h,yi+k3*h);

Y(i)=yi;
yi=yi+1/6*h*(k1+2*(k2+k3)+k4);

X(i)=xi;
xi=xi+h;

i=i+1;

end

plot(X,Y,':r','LineWidth',3)
ylabel('Altura en Metros (m)')
xlabel('Tiempo en Segundos (s)')
title('Altura de Vaciado vs Tiempo')
grid on

disp(' ')
disp(['Tiempo de Vaciado: ',num2str(xi)])
disp(' ')

Salida en la command windows

Tiempo de Vaciado: 73.3


El programa nos presenta la solución para la estimación del tiempo de vaciado el cual será 73.3
segundos, además nos presenta la siguiente gráfica:

Ejercicio 2.
Un modelo matemático alterno del tanque que relaciona el flujo de salida con el nivel del líquido
es:

𝐹1 =∝ 𝐻1/2

a) Desarrolle un nuevo modelo del tanque usando la relación anterior combinándola con la
ecuación diferencial:
𝑑𝐻
𝐴( ) + 𝐹1 = 𝐹0
𝑑𝑡

El área de la sección transversal del tanque es de 10 𝑝𝑖𝑒𝑠 2 y el flujo de entrada es constante


𝑝𝑖𝑒𝑠3 2 𝑝𝑖𝑒𝑠3
a5 . El tanque inicialmente está lleno hasta un nivel de 4 pies. Suponga 𝛼 = .
𝑚𝑖𝑛 min 𝑝𝑖𝑒𝑠1/2
b) Calcule el nivel aproximado del tanque para el primer minuto usando un tamaño de paso de
t  0.2min.
c) Considere el mismo tanque con cero flujos de entrada y un nivel de líquido inicial de 20 pies.
Escriba un programa para calcular el nivel aproximado del tanque hasta vaciarse. Escoja t
 0.1min.
d) Compruebe que la solución analítica para el nivel H cuando F0  0, t 0 está dado por:
1/2 ∝𝑡 2
𝐻(𝑡) = (𝐻0 − )
2𝐴
Donde
𝐻0 es el nivel inicial del tanque.
e) Compare los resultados de la parte (c) con la solución exacta. Presente la comparación de
los resultados en forma de tabla y gráfica.
Solución
a) Resolvemos el ejercicio de la siguiente forma:
𝑑𝐻
𝐴 ( ) + 𝐹1 = 𝐹0
𝑑𝑡
𝑑𝐻 1
𝐴 ( ) +∝ 𝐻 2 = 𝐹0
𝑑𝑡
𝑑𝐻 1
𝐴 ( ) = 𝐹0 −∝ 𝐻 2
𝑑𝑡

1
𝑑𝐻 (𝐹0 −∝ 𝐻 2 )
( )=
𝑑𝑡 𝐴
1
𝑑𝐻 (5 − 2𝐻 2 )
L( ) =
𝑑𝑡 10
1
1 2𝐻 2
H(s) − H(0) = L ( ) − 𝐿
2 10
1
1 2𝐻 2
H(s) = L ( ) − 𝐿 + 4
2 10

1
1 𝜋2
H(s) = − 3+4
2𝑠
2𝑠 2
1
1 𝜋2
𝐿−1 H(s) = 𝐿−1 − 𝐿−1 3 + 𝐿−1 4
2𝑠
2𝑠 2
1 1
H= − 𝑡 2 + 4 𝛿(𝑡)
2

b) Para resolver el problema, realizamos un programa en Matlab con el método runge-kutta de


4to orden:
xi=0;
xf=1;
yi=4;
h=0.2;
n=round((xf-xi)/h);
a=2;
A=10;
Fo=5;

f=@(xi,yi) (Fo-a*sqrt(yi))/A;

for i=1:n

k1=f(xi,yi);
k2=f(xi+1/2*h,yi+1/2*k1*h);
k3=f(xi+1/2*h,yi+1/2*k2*h);
k4=f(xi+h,yi+k3*h);

yi=yi+1/6*h*(k1+2*(k2+k3)+k4);

xi=xi+h;
end

disp(' PUNTO B')


disp(' ')
disp(['Altura para 1 min: ',num2str(yi),' pies'])
disp(' ')

Salida en la command windows

PUNTO B

Altura para 1 min: 4.0976 pies

El programa en este caso nos muestra la altura después de 1 min.

c) Calculamos el nivel aproximado del tanque hasta vaciarse usando el método de runge-kutta Commented [cmab1]: Tengo esta duda, si es tiempo de
en el programa Matlab. vaciado?, porque “nivel del tanque hasta vaciarse”
obviamente va a ser 0.
xi=0; Commented [Y2R1]:
yi=20;
Commented [Y3R1]:
h=0.1;
a=2; Commented [Y4R1]:
A=10;
Fo=0;

f=@(xi,yi) (Fo-a*sqrt(yi))/A;

i=1;

while yi>0.001
k1=f(xi,yi);
k2=f(xi+1/2*h,yi+1/2*k1*h);
k3=f(xi+1/2*h,yi+1/2*k2*h);
k4=f(xi+h,yi+k3*h);

Y(i)=yi;
yi=yi+1/6*h*(k1+2*(k2+k3)+k4);

X(i)=xi;
xi=xi+h;
i=i+1;

end

disp(' PUNTO C')


disp(' ')
disp(['Tiempo de Vaciado: ',num2str(xi)])
disp(' ')

El programa en este caso nos muestra un tiempo de vaciado de 44.5 min.

PUNTO C

Tiempo de Vaciado: 44.5

d) Falta

e) Presentamos los datos de la siguiente forma:

plot(X,Y,':r','LineWidth',3)

ylabel('Altura en Metros (pies)')

xlabel('Tiempo en Minutos (min)')

title('Altura de Vaciado vs Tiempo')

grid on

disp(' PUNTO E')


disp(' ')

Ho=20;
solR=(sqrt(Ho)-a.*X/(2*A)).^2;

hold on
plot(X,solR,'LineWidth',1.5)
legend('RK4','Real')
disp(' RK4 Real')
disp('--------------------------')
disp([Y' solR'])

PUNTO E

RK4 Real
--------------------------
20.0000 20.0000
19.9107 19.9107
19.8215 19.8215
19.7326 19.7326
19.5553 19.5553
19.4669 19.4669
19.3788 19.3788
19.2909 19.2909
19.2031 19.2031
19.1156 19.1156
19.0282 19.0282
18.9411 18.9411
18.8541 18.8541
18.7674 18.7674
18.6809 18.6809
18.5945 18.5945
18.5084 18.5084
18.4224 18.4224
18.3367 18.3367
18.2511 18.2511
18.1658 18.1658
18.0807 18.0807
17.9957 17.9957
17.9110 17.9110
17.8264 17.8264
17.7421 17.7421
17.6579 17.6579
17.5740 17.5740
17.4903 17.4903
17.4067 17.4067
17.3234 17.3234
17.2402 17.2402
17.1573 17.1573
17.0745 17.0745
16.9920 16.9920
16.9097 16.9097
16.8275 16.8275
16.7456 16.7456
16.6638 16.6638
16.5823 16.5823
16.5009 16.5009
16.4198 16.4198
16.3389 16.3389
16.2581 16.2581
16.1776 16.1776
16.0972 16.0972
16.0171 16.0171
15.9371 15.9371
15.8574 15.8574
15.7779 15.7779
15.6985 15.6985
15.6194 15.6194
15.5404 15.5404
15.4617 15.4617
15.3832 15.3832
15.3048 15.3048
15.2267 15.2267
15.0710 15.0710
14.9934 14.9934
14.9161 14.9161
14.8390 14.8390
14.7620 14.7620
14.6853 14.6853
14.6087 14.6087
14.5324 14.5324
14.4562 14.4562
14.3803 14.3803
14.3046 14.3046
14.2290 14.2290
14.1537 14.1537
14.0785 14.0785
14.0036 14.0036
13.9288 13.9288
13.8543 13.8543
13.7800 13.7800
13.7058 13.7058
13.6319 13.6319
13.5581 13.5581
13.4846 13.4846
13.4112 13.4112
13.3381 13.3381
13.2652 13.2652
13.1924 13.1924
13.1199 13.1199
13.0475 13.0475
12.9754 12.9754
12.9034 12.9034
12.8317 12.8317
12.7602 12.7602
12.6888 12.6888
12.6177 12.6177
12.5467 12.5467
12.4760 12.4760
12.4054 12.4054
12.3351 12.3351
12.2650 12.2650
12.1950 12.1950
12.1253 12.1253
12.0557 12.0557
11.9864 11.9864
11.9172 11.9172
11.8483 11.8483
11.7796 11.7796
11.7110 11.7110
11.6427 11.6427
11.5745 11.5745
11.5066 11.5066
11.4388 11.4388
11.3713 11.3713
11.3040 11.3040
11.1699 11.1699
11.1031 11.1031
11.0366 11.0366
10.9702 10.9702
10.9041 10.9041
10.8382 10.8382
10.7724 10.7724
10.7069 10.7069
10.6415 10.6415
10.5764 10.5764
10.5114 10.5114
10.4467 10.4467
10.3822 10.3822
10.3178 10.3178
10.2537 10.2537
10.1897 10.1897
10.1260 10.1260
10.0624 10.0624
9.9991 9.9991
9.9360 9.9360
9.8730 9.8730
9.8103 9.8103
9.7477 9.7477
9.6854 9.6854
9.6232 9.6232
9.5613 9.5613
9.4996 9.4996
9.4380 9.4380
9.3767 9.3767
9.3155 9.3155
9.2546 9.2546
9.1938 9.1938
9.1333 9.1333
9.0730 9.0730
9.0128 9.0128
8.9529 8.9529
8.8931 8.8931
8.8336 8.8336
8.7742 8.7742
8.7151 8.7151
8.6562 8.6562
8.5974 8.5974
8.5389 8.5389
8.4805 8.4805
8.4224 8.4224
8.3645 8.3645
8.3067 8.3067
8.2492 8.2492
8.1918 8.1918
8.1347 8.1347
8.0777 8.0777
8.0210 8.0210
7.9645 7.9645
7.8520 7.8520
7.7960 7.7960
7.7403 7.7403
7.6847 7.6847
7.6294 7.6294
7.5743 7.5743
7.5193 7.5193
7.4646 7.4646
7.4100 7.4100
7.3557 7.3557
7.3015 7.3015
7.2476 7.2476
7.1939 7.1939
7.1403 7.1403
7.0870 7.0870
7.0338 7.0338
6.9809 6.9809
6.9281 6.9281
6.8756 6.8756
6.8233 6.8233
6.7711 6.7711
6.7192 6.7192
6.6674 6.6674
6.6159 6.6159
6.5645 6.5645
6.5134 6.5134
6.4625 6.4625
6.4117 6.4117
6.3612 6.3612
6.3108 6.3108
6.2607 6.2607
6.2107 6.2107
6.1610 6.1610
6.1115 6.1115
6.0621 6.0621
6.0130 6.0130
5.9640 5.9640
5.9153 5.9153
5.8667 5.8667
5.8184 5.8184
5.7703 5.7703
5.7223 5.7223
5.6746 5.6746
5.6270 5.6270
5.5797 5.5797
5.5325 5.5325
5.4856 5.4856
5.4389 5.4389
5.3923 5.3923
5.3460 5.3460
5.2998 5.2998
5.2539 5.2539
5.2081 5.2081
5.1173 5.1173
5.0721 5.0721
5.0272 5.0272
4.9824 4.9824
4.9379 4.9379
4.8935 4.8935
4.8494 4.8494
4.8055 4.8055
4.7617 4.7617
4.7182 4.7182
4.6748 4.6748
4.6317 4.6317
4.5887 4.5887
4.5460 4.5460
4.5035 4.5035
4.4611 4.4611
4.4190 4.4190
4.3770 4.3770
4.3353 4.3353
4.2937 4.2937
4.2524 4.2524
4.2113 4.2113
4.1703 4.1703
4.1296 4.1296
4.0890 4.0890
4.0487 4.0487
4.0085 4.0085
3.9686 3.9686
3.9289 3.9289
3.8893 3.8893
3.8500 3.8500
3.8108 3.8108
3.7719 3.7719
3.7331 3.7331
3.6946 3.6946
3.6563 3.6563
3.6181 3.6181
3.5802 3.5802
3.5424 3.5424
3.5049 3.5049
3.4676 3.4676
3.4304 3.4304
3.3935 3.3935
3.3567 3.3567
3.3202 3.3202
3.2838 3.2838
3.2477 3.2477
3.2118 3.2118
3.1760 3.1760
3.1405 3.1405
3.1051 3.1051
3.0700 3.0700
3.0350 3.0350
2.9658 2.9658
2.9314 2.9314
2.8973 2.8973
2.8633 2.8633
2.8296 2.8296
2.7960 2.7960
2.7627 2.7627
2.7296 2.7296
2.6966 2.6966
2.6639 2.6639
2.6313 2.6313
2.5990 2.5990
2.5668 2.5668
2.5349 2.5349
2.5032 2.5032
2.4716 2.4716
2.4403 2.4403
2.4091 2.4091
2.3782 2.3782
2.3474 2.3474
2.3169 2.3169
2.2866 2.2866
2.2564 2.2564
2.2265 2.2265
2.1967 2.1967
2.1672 2.1672
2.1378 2.1378
2.1087 2.1087
2.0798 2.0798
2.0510 2.0510
2.0225 2.0225
1.9941 1.9941
1.9660 1.9660
1.9380 1.9380
1.9103 1.9103
1.8828 1.8828
1.8554 1.8554
1.8283 1.8283
1.8013 1.8013
1.7746 1.7746
1.7480 1.7480
1.7217 1.7217
1.6956 1.6956
1.6696 1.6696
1.6439 1.6439
1.6183 1.6183
1.5930 1.5930
1.5678 1.5678
1.5429 1.5429
1.5182 1.5182
1.4936 1.4936
1.4693 1.4693
1.4451 1.4451
1.3974 1.3974
1.3739 1.3739
1.3506 1.3506
1.3274 1.3274
1.3045 1.3045
1.2817 1.2817
1.2592 1.2592
1.2368 1.2368
1.2147 1.2147
1.1928 1.1928
1.1710 1.1710
1.1495 1.1495
1.1281 1.1281
1.1070 1.1070
1.0860 1.0860
1.0653 1.0653
1.0448 1.0448
1.0244 1.0244
1.0043 1.0043
0.9843 0.9843
0.9646 0.9646
0.9450 0.9450
0.9257 0.9257
0.9066 0.9066
0.8876 0.8876
0.8689 0.8689
0.8503 0.8503
0.8320 0.8320
0.8138 0.8138
0.7959 0.7959
0.7782 0.7782
0.7606 0.7606
0.7433 0.7433
0.7261 0.7261
0.7092 0.7092
0.6925 0.6925
0.6759 0.6759
0.6596 0.6596
0.6434 0.6434
0.6275 0.6275
0.6117 0.6117
0.5962 0.5962
0.5809 0.5809
0.5657 0.5657
0.5508 0.5508
0.5360 0.5360
0.5215 0.5215
0.5071 0.5071
0.4930 0.4930
0.4791 0.4791
0.4653 0.4653
0.4518 0.4518
0.4384 0.4384
0.4123 0.4123
0.3996 0.3996
0.3871 0.3871
0.3747 0.3747
0.3626 0.3626
0.3506 0.3506
0.3389 0.3389
0.3273 0.3273
0.3160 0.3160
0.3049 0.3049
0.2939 0.2939
0.2832 0.2832
0.2726 0.2726
0.2623 0.2623
0.2521 0.2521
0.2422 0.2422
0.2325 0.2325
0.2229 0.2229
0.2136 0.2136
0.2044 0.2044
0.1955 0.1955
0.1867 0.1867
0.1782 0.1782
0.1699 0.1699
0.1617 0.1617
0.1538 0.1538
0.1460 0.1460
0.1385 0.1385
0.1311 0.1311
0.1240 0.1240
0.1171 0.1171
0.1103 0.1103
0.1038 0.1038
0.0974 0.0974
0.0913 0.0913
0.0853 0.0853
0.0796 0.0796
0.0741 0.0741
0.0687 0.0687
0.0636 0.0636
0.0586 0.0586
0.0539 0.0539
0.0493 0.0493
0.0450 0.0450
0.0409 0.0409
0.0369 0.0369
0.0332 0.0332
0.0296 0.0296
0.0263 0.0263
0.0231 0.0231
0.0202 0.0202
0.0175 0.0175
0.0149 0.0149
0.0104 0.0104
0.0085 0.0085
0.0067 0.0067
0.0052 0.0052
0.0039 0.0039
0.0027 0.0027
0.0018 0.0018
0.0010 0.0010

Anda mungkin juga menyukai