Está en la página 1de 19

Ecuaciones Diferenciales Ordinarias

◆ Problemas de valor inicial


◆ Campo de direcciones
◆ Métodos numéricos para el problema de valor inicial
◆ Método de Euler
◆ Método de Heun
◆ Método de Euler modificado
◆ Método de Runge-Kutta
Problemas de valor inicial

◆Ecuación diferencial
y ′ ( t ) = f ( t , y ( t )) , t ∈[ a , b ]
◆Condición inicial
y( a ) = y 0
◆Ejemplo: modelo de población de Verhulst
2
y ′ ( t ) = ay ( t ) − by ( t ) , y( t 0 ) = y 0
Campo de direcciones

◆ Curvas solución de una ecuación diferencial


y = y( t ) , t ∈[ a , b ]
◆ Pendiente de las curvas solución
m = y ′ ( t ) = f ( t , y ( t )) , t ∈[ a , b ]
◆ Campo de direcciones

( t , y ) → λ (1, f ( t , y )), t ∈[ a , b ], y ∈[ c , d ]
Campo de direcciones

➘t=a:h:b; y=c:h:d;

➘[tt,yy] = meshgrid(t,y);

➘uno = ones(size(tt));

➘dy = f(tt,yy);

➘quiver(tt,yy,uno,dy)
Campo de direcciones
Ecuación Logística
5

4.5

3.5

2.5

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3
Métodos numéricos para el
P.V.I.

◆ Problema de Valor Inicial


y ′ ( t ) = f ( t , y ( t )), t ∈[ a , b ], y(a ) = y 0
◆ Discretización
a = t 0 < t1 < L < t n = b
y 0 = y( t 0 ), y1 ≅ y( t 1 ), L y n ≅ y( t n )
◆ Forma integral del problema de valor inicial
t
y ( t ) = y ( t 0 ) + ò f ( s, y ( s)) ds
t0
Métodos numéricos para el
P.V.I.

◆ Error local del método iterativo


e k = y k − y( t k )
◆ Error máximo
E ( h ) = max e k
k
◆ Convergencia
lim E ( h) = 0
h→ 0

◆ Método de orden p:
p
E ( h ) ≅ Mh , M = const.
Método de Euler
◆ Forma integral de la ecuación diferencial
t1
y ( t 1 ) = y ( t 0 ) + ò f ( t , y ( t )) dt
t
◆ Aproximación (Fórmula de los
0
rectángulos)
y1 = y 0 + ( t1 − t 0 ) f ( t 0 , y 0 )

◆ Paso fijo y 1 = y 0 + hf ( t 0 , y 0 )
◆ Método de Euler: para k=1,2...,n
y k + 1 = y k + hf ( t k , y k )
Método de Euler

④ function [t,y]=mieuler(a,b,y0,n)

④ h=(b-a)/n; t=a:h:b;

④ y=zeros(size(t)); y(1)=y0;

④ for k=1:n

④ y(k+1)=y(k)+h*f(t(k),y(k));

④ end
Soluciones aproximadas (Euler)
Ecuación Logística
5

4.5

3.5

2.5

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3
Método de Heun
❚ Forma integral de la ecuación diferencial
t1
y ( t 1 ) = y ( t 0 ) + ò f ( t , y ( t )) d t
t0

❚ Aproximación (Fórmula de los trapecios)


t1
ò t0
f ( t , y ) d t ≅ h / 2 ( f ( t 0 , y 0 ) + f ( t 1 , y 1 ))
❚ Aproximación por Euler (predicción)

y 1p = y 0 + h f ( t 0 , y 0 )

❚ Método de Heun (correccción)

y 1 = y 0 + h / 2 ( f ( t 0 , y 0 ) + f ( t 1 , y 1p ))
Método de Heun

④ function [t,y]=heun(a,b,y0,n)
④ h=(b-a)/n; t=a:h:b;
④ y=zeros(size(t)); y(1)=y0;
④ for k=1:n
④ k1=f(t(k),y(k));
④ ykp=y(k)+h*k1;
④ k2=f(t(k+1),ykp);
④ y(k+1)=y(k)+h/2*(k1+k2);
④ end
Método de Euler modificado
◆ Forma integral de la ecuación diferencial
t1
y (t1) = y (t0 ) + ò t0
f ( t , y ( t))d t

◆ Aproximación (Fórmula del punto medio)


t1
ò f ( t , y ) d t ≅ h f ( t 0 + h / 2 , y ( t 0 + h / 2 ))
t0

◆ Aproximación por Euler


y ( t 0 + h / 2 ) ≅ y 1/2 = y 0 + h / 2 f ( t 0 , y 0 )

◆ Método de Euler modificado


y1 = y 0 + h f ( t 0 + h / 2 , y 1/2 )
Método de Euler modificado

④ function [t,y]=eulermod(a,b,y0,n)
④ h=(b-a)/n; t=a:h:b;
④ y=zeros(size(t)); y(1)=y0;
④ for k=1:n
④ yk2=y(k)+h/2*f(t(k),y(k));
④ y(k+1)=y(k)+h*f(t(k)+h/2,yk2));
④ end
Método de Runge-Kutta

◆ Forma integral de la ecuación diferencial


t1
y ( t 1 ) = y ( t 0 ) + ò f ( t , y ( t )) dt
t0
◆ Aproximación de la integral (Regla de
Simpson)
t1
òt0
f ( t , y ) dt ≅
h
( f ( t 0 , y 0 ) + 4 f ( t 1 / 2 , y 1 / 2 ) + f ( t 1 , y 1 ))
6
Método de Runge-Kutta (cont.)

❚ Estimaciones previas
k1 = f (t0 , y0 )
k 2 = f (t0 + h / 2 , y0 + h / 2 ⋅ k1)
k 3 = f (t0 + h / 2 , y0 + h / 2 ⋅ k 2 )
k 4 = f ( t 0 + h , y 0 + hk 3 )
❚ Aplicación de la fórmula

y 1 = y 0 + h / 6( k 1 + 2 k 2 + 2 k 3 + k 4 )
Método de Runge-Kutta
④ function [t,y]=rungekut(a,b,y0,n)
④ h=(b-a)/n; t=a:h:b;
④ y=zeros(size(t)); y(1)=y0;
④ for k=1:n
④ k1=f(t(k),y(k)); tk2=t(k)+h/2;
④ k2=f(tk2,y(k)+h/2*k1);
④ k3=f(tk2,y(k)+h/2*k2);
④ k4=f(t(k+1),y(k)+h*k3);
④ y(k+1)=y(k)+h/6*(k1+2*k2+2*k3+k4);
④ end
Comparación de métodos

Método Orden del Evaluaciones


error funcionales
Euler h 1
Heun h2 2
Euler h2 2
modificado
Runge-Kutta h4 4

También podría gustarte