Académique Documents
Professionnel Documents
Culture Documents
( ), ( ), ( )
Mtodos numricos para el
P.V.I.
Error local del mtodo iterativo
Error mximo
Convergencia
Mtodo de orden p:
e y y t
k k k
= ( )
E h max e
k
k
( ) =
limE h
h
=
0
0 ( )
E h Mh M const
p
( ) , . ~ =
Mtodo de Euler
Forma integral de la ecuacin diferencial
Aproximacin (Frmula de los rectngulos)
Paso fijo
Mtodo de Euler: para k=1,2...,n
y t y t f t y t dt
t
t
( ) ( ) ( , ( ))
1 0
0
1
= +
}
y y t t f t y
1 0 1 0 0 0
= + ( ) ( , )
y y hf t y
1 0 0 0
= + ( , )
y y hf t y
k k k k +
= +
1
( , )
Mtodo 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)
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Ecuacin Logstica
Mtodo de Heun
Forma integral de la ecuacin diferencial
Aproximacin (Frmula de los trapecios)
Aproximacin por Euler (prediccin)
Mtodo de Heun (correcccin)
y t y t f t y t dt
t
t
( ) ( ) ( , ( ))
1 0
0
1
= +
}
f t y dt h f t y f t y
t
t
( , ) / ( ( , ) ( , ))
0
1
2
0 0 1 1 }
~ +
y y hf t y
p
1 0 0 0
= + ( , )
y y h f t y f t y
p
1 0 0 0 1 1
2 = + + / ( ( , ) ( , ))
Mtodo 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
Mtodo de Euler modificado
Forma integral de la ecuacin diferencial
Aproximacin (Frmula del punto medio)
Aproximacin por Euler
Mtodo de Euler modificado
y t y t f t y t dt
t
t
( ) ( ) ( , ( ))
1 0
0
1
= +
}
f t y dt hf t h y t h
t
t
( , ) ( / , ( / ))
0
1
0 0
2 2
}
~ + +
y t h y y h f t y ( / ) / ( , )
/ 0 1 2 0 0 0
2 2 + ~ = +
y y hf t h y
1 0 0 1 2
2 = + + ( / , )
/
Mtodo 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
Mtodo de Runge-Kutta
Forma integral de la ecuacin diferencial
Aproximacin de la integral (Regla de
Simpson)
y t y t f t y t dt
t
t
( ) ( ) ( , ( ))
1 0
0
1
= +
}
f t y dt
h
f t y f t y f t y
t
t
( , )
( ( , ) ( , ) ( , ))
/ /
0
1
6
4
0 0 1 2 1 2 1 1
}
~
+ +
Mtodo de Runge-Kutta (cont.)
Estimaciones previas
Aplicacin de la frmula
y y h k k k k
1 0 1 2 3 4
6 2 2 = + + + + / ( )
k f t y
k f t h y h k
k f t h y h k
k f t h y hk
1 0 0
2 0 0 1
3 0 0 2
4 0 0 3
2 2
2 2
=
= + +
= + +
= + +
( , )
( / , / )
( / , / )
( , )
Mtodo 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
Comparacin de mtodos
Mtodo Orden del
error
Evaluaciones
funcionales
Euler h 1
Heun h
2
2
Euler
modificado
h
2
2
Runge-Kutta h
4
4