Академический Документы
Профессиональный Документы
Культура Документы
Veremos aquí dos métodos importantes para la solución de ecuaciones diferenciales ordinarias de
primer orden con valor inicial:
± 0
y = f(t; y); t 2 [t0 ; t0 + T ]
PVI (1)
y(t0 ) = y0
Resolver este problema consiste en encontrar una función y : [t0 ; t0 + T ] 7! R que satisfaga (1).
y 25
20
15
10
0
0.0 0.5 1.0 1.5 2.0
t
Los métodos numéricos que veremos no retornan la regla de correspondencia de una función
como solución, sólo construyen una sucesión de pares por donde el grá…co de y debería pasar
aproximadamente. Se caracterizan por:
1. Dado n 2 N, crean una partición uniforme del intervalo [t0 ; t0 + T ] de modo que,
t0 < t1 < t2 < ::: < tk < ::: < tn-1 < tn = t0 + T (2)
T
donde h = tk+1 - tk , para k = 0; :::; n - 1. Observe que h = n.
1
1. Método de Euler
Éste es uno de los métodos numéricos más sencillos para resolver el problema PVI, no es e…ciente
pero su rol es ilustrar cómo éstos funcionan.
Se sabe que
y(t0 + h) - y(t0 )
y0 (t0 ) = l´¬m
h! 0 h
podemos decir entonces que
y(t0 + h) - y(t0 )
h¼0 =) y0 (t0 ) ¼ (3)
h
de donde
y(t0 + h) ¼ y(t0 ) + hy0 (t0 )
Además, como
t1 = t0 + h, y0 (t0 ) = f(t0 ; y(t0 )) y y(t0 ) = y0
tenemos
y(t1 ) ¼ y0 + hf(t0 ; y0 )
Por lo tanto, haciendo
y1 = y0 + hf(t0 ; y0 )
tenemos
(t1 ; y(t1 )) ¼ (t1 ; y1 ) = (t0 + h; y0 + hf(t0 ; y0 ))
Repitiendo el proceso anterior, ahora con (t1 ; y1 ) representando la nueva condición inicial aproxi-
mada y(t1 ) ¼ y1 , obtenemos
Observe que el único par calculado exactamente fue (t0 ; y0 ), los subsiguientes (t1 ; y1 ), (t2 ; y2 )
y (tn ; yn ) son solamente aproximaciones que mejoran a medida que h se haga más pequeño.
2
Algoritmo 1 (Euler) Considere el problema PVI de…nido en (1). Dados t0 , y0 , T y n.
T
1. Calcule el tamaño de paso: h = .
n
2. Para k = 1; 2; :::; n, calcule los pares (tk ; yk ) usando la regla de correspondencia:
tk = tk-1 + h
yk = yk-1 + hf (tk-1 ; yk-1 )
3. Retorna los pares (t0 ; y0 ) ; (t1 ; y1 ) ; :::; (tn ; yn ) que son aproximaciones a los pares exactos
(t0 ; y(t0 )) ; (t1 ; y(t1 )) ; :::; (tn ; y(tn ))
function [t,y]=EULER(t0,y0,T,n)
h=T/n;
t=zeros(n+1,1);
y=zeros(n+1,1);
t(1)=t0;
y(1)=y0;
for k=2:1:n+1
t(k)=t(k-1)+h;
y(k)=y(k-1)+h*f(t(k-1),y(k-1));
end
Vemos que t0 = 2, y0 = 1, T = 1 y
-ty2 - t3 + 10
f (t; y) =
t2 + 1
Vamos a considerar n = 10 (esto dice que el intervalo [2; 3] será dividido en 10 subintervalos).
El código asociado a la función f.m, que debe ser añadido al …nal del programa EULER.m o en
otro archivo, pero en el mismo directorio de trabajo, está dado por:
function z=f(t,y)
z=((-t*y^2-t^3+10)/(t^2+1));
[t,y]=EULER(2,1,1,10)
3
obtuvimos los siguientes resultados:
k tk yk
0 2 1
1 2:1 1
2 2:2 0:9748
3 2:3 0:9279
4 2:4 0:8620
5 2:5 0:7791
6 2:6 0:6805
7 2:7 0:5674
8 2:8 0:4401
9 2:9 0:2988
10 3:0 0:1431
plot(t,y,’*’)
podemos tener una idea por dónde debería pasar la solución exacta del problema original:
4
el error cometido por el método de Euler al estimar el valor de y cuando t = 4 en cada caso?
Conocido el punto (tk-1 ; yk-1 ), la aproximación yk del valor exacto y(tk ) es obtenida mediante:
donde
q1 = hf (tk-1 ; yk-1 )
¡ ¢
q2 = hf tk-1 + 12 h; yk-1 + 12 q1
¡ ¢
q3 = hf tk-1 + 12 h; yk-1 + 12 q2
q4 = hf (tk-1 + h; yk-1 + q3 )
tk = tk-1 + h
yk = yk-1 + 16 q1 + 26 q2 + 26 q3 + 16 q4
5
donde
q1 = hf (tk-1 ; yk-1 )
¡ ¢
q2 = hf tk-1 + 12 h; yk-1 + 12 q1
¡ ¢
q3 = hf tk-1 + 12 h; yk-1 + 12 q2
q4 = hf (tk-1 + h; yk-1 + q3 )
3. Retorna los pares (t0 ; y0 ) ; (t1 ; y1 ) ; :::; (tn ; yn ), que son puntos por donde se estima que el
grá…co de la solución exacta de (4) debería pasar.
Antes de ejecutar el programa RK4.m primero se debe realizar el programa f.m asociado a la
función f(t; y) = t cos y, que puede estar al …nal del programa RK4.m o en otro archivo:
function z=f(t,y)
z=t*cos(y);
Para el caso en que n = 40, la siguiente tabla muestra las tres últimas líneas de los resultados
correspondientes a la solución exacta, el método de Euler y el de Runge-Kutta 4:
6
Ejercicio 2 Resuelva numéricamente el problema de valor inicial
¯ 0
y = 3t2 + 2y
y (0) = 1
Compare los resultados numéricos obtenidos por Euler y RK4 con los de la solución exacta
y(t) = 74 e2t - 32 t - 32 t2 - 34 .
Ejercicio 3 Considere una situación formada por una población de organismos zooplanctónicos.
Son colocadas en un recipiente 3 hembras partenogenéticas embarazadas (no hay necessidad de
fecundación por el macho) de um microcrustáceo llamado cladócero, en condiciones ideales de
alimentación, temperatura, aereación e iluminación, y en ausencia de depredadores.
Ejemplo 4 El café está a 90o C inmediatamente después de ser colado en un ambiente que se
encuentra a 25o C. Vamos a estimar la temperatura del café en función del tiempo en minutos,
además queremos saber el tiempo que debe transcurrir para que el café esté a 60o C.
El modelo que maneja este comportamiento está basado en la ley de enfriamiento de Newton.
Así, ± 0
T = k(T - 25); t 2 [0; 10]
T (0) = 90
donde en este caso k = -0:0800427, T es la temperatura en el tiempo t. Resuelva numéricamente,
compare los métodos con la solución exacta.
—o—