Método de Heum para Ecuaciones Diferenciales
Método de Heum para Ecuaciones Diferenciales
Método de Heum para Ecuaciones Diferenciales
Del alumno
Al profesor
Angel Sangiacomo
Asunto
Mtodo de Heun
Fecha
02-09-2015
Este valor no es la solucin final sino una prediccin intermedia, por lo que se
ha distinguido a sta con el superndice 0. Esta ecuacin se denomina
ecuacin predictora y proporciona una aproximacin del valor de y al final del
intervalo. Este valor nos permite a su vez calcular la pendiente aproximada en
dicho punto.
y 'i+1= yi + f ( x i+1 , y 0i +1 )h
f ( xi , y i ) +f ( x i +1 , y i+1 )
y +y
y = i i +1 =
2
2
'
'
'
f ( x i , yi ) + f ( x i+1 , y 0i+1 )
y i+1= yi +
h
2
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 )
2
2
k 2=hf t i + h , y i+ k 1
3
3
y i+1= yi +
1
[ k +3k 2 ]
4 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 del mtodo de heun
k2: contiene la segunda parte del mtodo de heun
yii: Valores de la variable y obtenido por el mtodo de heun
Algoritmo
function f=f(z,t,y)
f=eval(z);
z : funcin en formato texto debe contener variables t y y
mheun.m
clc;
disp(' METODO DE EULER ');
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);
yii=yii+f(fu,ti,yii)*h;
ti=ti+h;
%--------------------hold on;
plot(ti,yii,'+');
%--------------------end
%--------------------hold on;
legend('Metodo de euler');
%--------------------disp('');
METODO DE HEUM
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.02103
0.04923
0.09090
0.14745
0.22043
0.31157
0.42279
0.55618
0.71408