Вы находитесь на странице: 1из 6

METODO NUMERICO MILNE

NOMBRE: Franklin Poma


Alejandra Huallpa

Pedro Coronado

Punto final

% yi : Condicion inicial

% M : Numero de pasos

% SALIDA:

% x : Vector de abscisas

% y : Vector de ordenadas

% x=a+k*h, k=1,...,n+1

h=(b-a)/M;

x=a:h:b;

y(1)=yi;

z(1)=yi;

% Aplica 3 pasos del metodo Runge-Kutta de 4º orden

for k=1:3

k1 = h*feval(f,x(k),y(k));

k2=h*feval(f,x(k)+h/2,y(k)+k1/2);

k3=h*feval(f,x(k)+h/2,y(k)+k2/2);

k4=h*feval(f,x(k)+h,y(k)+k3);

y(k+1)=y(k)+(k1+2*k2+2*k3+k4)/6;

z(k+1)=y(k+1);
end;

% Inicio del metodo predictor-corrector de Adams-Bashforth-Moulton

for k=4:M

z(k+1) = y(k-3)+(4*h/3)*(2*feval(f,x(k),y(k))-...

feval(f,x(k-1),y(k-1))+...

2*feval(f,x(k-2),y(k-2)));

y(k+1) = y(k-1)+(h/3)*( feval(f,x(k+1),z(k+1))+...

4*feval(f,x(k),y(k))+...

feval(f,x(k-1),y(k-1)));

end;

3.3. Medidas de Error

function [y,x] = MilneSim4UV(f,a,b,yi,M);

% Calcula la solucion de la ecuacion diferencial

% y'=f(x,y) utilizando el método Milne-Simpson

% inicializado con un Runge-Kutta de 4º orden

%
% ENTRADA:

% f : Funcion introducida como string, se introduce

% el nombre del archivo .m que contiene la función entre comillas

% Ej: 'FuncionParaModeloLogistico'

% a : Punto inicial

% b : Punto final

% yi : Condicion inicial

% M : Numero de pasos

% SALIDA:

% x : Vector de abscisas

% y : Vector de ordenadas

% x=a+k*h, k=1,...,n+1

h=(b-a)/M;

x=a:h:b;
y(1)=yi;

z(1)=yi;

% Aplica 3 pasos del metodo Runge-Kutta de 4º orden

for k=1:3

k1 = h*feval(f,x(k),y(k));

k2=h*feval(f,x(k)+h/2,y(k)+k1/2);

k3=h*feval(f,x(k)+h/2,y(k)+k2/2);

k4=h*feval(f,x(k)+h,y(k)+k3);

y(k+1)=y(k)+(k1+2*k2+2*k3+k4)/6;

z(k+1)=y(k+1);

end;

% Inicio del metodo predictor-corrector de Adams-Bashforth-Moulton

for k=4:M

z(k+1) = y(k-3)+(4*h/3)*(2*feval(f,x(k),y(k))-...

feval(f,x(k-1),y(k-1))+...
2*feval(f,x(k-2),y(k-2)));

y(k+1) = y(k-1)+(h/3)*( feval(f,x(k+1),z(k+1))+...

4*feval(f,x(k),y(k))+...

feval(f,x(k-1),y(k-1)));

End

Вам также может понравиться