MetodoHeun
Páginas: 4 (828 palabras)
Publicado: 28 de septiembre de 2015
Mejoras del Método de Euler
MANUEL FELIPE JIMÉNEZ CORTÉS
¿Para que?
El
método de Heun es un método numérico para la solución de
ecuaciones diferenciales de la forma:
Por que?El método de Euler para pasos
grandes puede tener errores
grandes
http://wiki.sim.ul.pt/sim_pt/MMFisica_Slides_-_num_dif_eq
¿En que consiste?
Es un método para mejorar la estimación de lapendiente
que realiza el método de Euler.
Involucra la determinación de dos derivadas para el
intervalo (una en el punto inicial y otra en el punto final).
Las dos derivadas se promedian para obteneruna
estimación mejorada de la pendiente
Ilustración
grafica del
método de
Heun
Se mejora la estimación de la
pendiente
http://wiki.sim.ul.pt/sim_pt/MMFisica_Slides_-_num_dif_eq
Formulación delmétodo de
Heun
Se calcula el predictor:
Pendiente promedio:
Corrector:
Algoritmo
desarrollado
Codificado en Matlab
function [y] = heun(f, cond_ini, xi, xf, h)
%Se genera el vector de las x's
x =xi:h:xf;
%Se inicializa el vector de las y's
y = zeros(size(x));
%Condicion inicial
y(1) = cond_ini;
%Loop para recorrer el rango de la funcion
for i = 1:(numel(x)-1)
%Se calcula la pendiente al inicioy_prim = f(x(i), y(i));
%Estimacion al final del intervalo
y_0_fin = y(i) + y_prim * h;
%Se calcula la pendiente al final
y_prim_fin = f(x(i + 1), y_0_fin);
%Se calcula la pendiente promedioy_prim_prom = (y_prim + y_prim_fin) / 2;
%Se calcula el valor al final del intervalo
y(i+1) = y(i) + y_prim_prom * h;
end
end
Algoritmo
Mejorado
Se mejora la predicción
function [y,iter] =heun(f,cond_ini,xi,xf,h,epsilon,maxiter)
x = xi:h:xf;
y = zeros(size(x));
iter = zeros(size(x));
y(1) = cond_ini;
for i = 1:(numel(x)-1)
for j = 1:maxiter
if j == 1
y_prim = f(x(i), y(i));
y_0_fin = y(i) + y_prim *h;
else
y_0_fin = y(i+1);
end
y_prim_fin = f(x(i + 1), y_0_fin);
y_prim_prom = (y_prim + y_prim_fin) / 2;
y(i+1) = y(i) + y_prim_prom * h;
if abs(y(i+1) - y_0_fin) <= epsilon
iter(i+1) = j;...
Leer documento completo
Regístrate para leer el documento completo.