You are on page 1of 5

Informe de Laboratorio N01-03

Del alumno

Helbert Justo Luque Zevallos

Al profesor

Angel Sangiacomo

Asunto

Mtodo de Runge Kutta de 3 pasos

Fecha

09-09-2015

Tengo a bien informar a usted sobre la prctica en el laboratorio sobre el


mtodo de Runge Kutta de 3 pasos .
Qu es?
Es un algoritmo que implementa el mtodo de Runge Kutta de 3 pasos para la
solucin de una E.D.O. con valor inicial.
Cmo es?
La idea general de los Mtodos de Runge-Kutta es sustituir el Problema de
Valor Inicial:
'

y =f ( t , y )
y ( t0 ) = y 0
Por la ecuacin integral equivalente:

Para proceder a aproximar esta ultima integral mediante un mtodo numrico


adecuado (recordemos que y(x) es desconocida). Si nuevamente planteamos
el problema paso a paso tendremos:

Mtodo de Runge-Kutta de tercer orden


Se trata de la misma idea pero integrando por el Mtodo de Simpson,
entonces:

Mientras que la estimacin de y n+1 se pueden considerar varias opciones, por


ejemplo:

que consiste en variar el Mtodo de Euler tomando la pendiente de la recta


tangente en el punto medio en vez de la tangente en el punto propiamente
dicha. Finalmente, lo ms usual es tomar una combinacin de las dos opciones

Podemos entonces resumir el Mtodo de Runge-Kutta de tercer orden en la


forma:

Finalmente, aadir que el error local en el Mtodo de tercer orden es


proporcional a h4 y en consecuencia el global lo es a h3

Qu hace?
Obtiene una aproximacin al problema de valor inicial bien planteado.
at b

y
=f ( t , y )
t
y 0=a
k 1=hf ( t i , y i )
1
1
k 2=hf t i + h , y i + k
2
2 1

k 3 =hf ( t i+ h , y ik 1 +2k 2 )
y i+1= yi +

1
[ k +4k 2+ k 3 ]
6 1

Variables:
fu: Funcin f(t,y) en formato texto debe contener variables t y y
vi: Valor de Valor Inicial
a: Valor de a
b: Valor de b
n: Numero de iteraciones
h: Tamao de paso
ti: Valor Inicial de la variable t
k1: contiene la primera parte
k2: contiene la segunda parte
k3: contiene la tercera parte
yii: Valores de la variable y obtenido por el mtodo de Runge Kutta 03

Algoritmo
function f=f(z,t,y)
f=eval(z);
z : funcin en formato texto debe contener variables t y y
mrungekutta03.m
clc;
disp(' METODO DE RUNGE KUTTA 03 ');
fu=input('ingrese funcion f(t,y) = ');
vi=input('ingrese Valor de Valor Inicial = ');
a=input('ingrese Valor de A = ');
b=input('ingrese Valor de B = ');
n=input('ingrese iteraciones = ');
h=(b-a)/n;
disp('h=');
disp(h);
ti=a;
yii=vi;
%--------------------hold off;
xlabel('Pasos')
ylabel('Valor aproximado')
%--------------------plot(ti,yii,'+');
disp(' ti
y(ti)
');
for i=1:n+1
fprintf ('\n%5.5f
%5.5f
',ti,yii);
k1=h*f(fu,ti,yii);
k2=h*f(fu,ti+h/2,yii+k1/2);
k3=h*f(fu,ti+h,yii-k1*2*k2);
yii=yii+1/6*(k1+4*k2+k3);
ti=ti+h;
%--------------------hold on;
plot(ti,yii,'+');
%--------------------end
%--------------------hold on;
legend('Metodo de Runge Kutta 03');
%--------------------disp('');

METODO DE RUNGE KUTTA 03


ingrese funcion f(t,y) = 'y+t'
ingrese Valor de Valor Inicial = 0
ingrese Valor de A = 0
ingrese Valor de B = 1
ingrese iteraciones = 10
h=
0.100000000000000
ti
y(ti)
0.00000
0.10000
0.20000
0.30000
0.40000
0.50000
0.60000
0.70000
0.80000
0.90000
1.00000

0.00000
0.00500
0.02084
0.04864
0.08962
0.14512
0.21663
0.30577
0.41433
0.54427
0.69776