método de adams bashforth de tres pasos

Upload: paul-mariatte-blue

Post on 08-Mar-2016

226 views

Category:

Documents


0 download

DESCRIPTION

Método de Adams Bashforth de tres pasos

TRANSCRIPT

Informe de Laboratorio N02-02Del alumno:Helbert Justo Luque ZevallosAl profesor:Angel SangiacomoAsunto:Mtodo de AdamsBashForth de 3 pasos de RK4 Fecha :09-09-2015Tengo a bien informar a usted sobre la prctica en el laboratorio sobre el mtodo de de AdamsBashForth de 3 pasos de RK4. Qu es? Es un algoritmo que implementa el mtodo de AdamsBashForth de 3 pasos de RK4 para la solucin de una E.D.O. con valor inicial.Cmo es?Los mtodos de euler, Heun, Taylor y Runge-Kutta se llaman mtodo de un paso porque en el clculo de cada punto slo se usa la informacin del ltimo punto. Los mtodos multipaso utiliza la informacin de los puntos previos, a saber, yi, yi-1,..., yi-m+1 para calcular yi+1. Por ejemplo, en un mtodo de tres pasos para calcular yi+1 , se necesita conocer yi, yi-1, yi-2. El principio que subyace en un mtodo multipaso es utilizar los valores previos para contruir un polinomio interpolante que aproxime a la funcin f(t,y(t)). El nmero de valores previos considerados para determinar el polinomio interpolante nos determina el grado del polinomio. Por ejemplo, si se consideran tres puntos previos, el polinomio de aproximacin es cuadrtico; si se usan cuatro puntos previos, el polinomio es cbicoLa idea fundamental del mtodo de Adams-Bashforth de n pasos es usar un polinomio de interpolacin de f(t,y(t)) que pasa por los n puntos: (ti,fi), (ti-1,fi-1),..., (ti-n+1,fi-n+1).Los mtodos de Adams-Bashforth(A-B) de n pasos tienen la forma general:

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

Obtener por medio de mtodo de runge Kutta 4 (se puede utilizar otros mtodos)

Variables: fu: Funcin f(t,y) en formato texto debe contener variables t y yvi: Valor de Valor Inicial a: Valor de a b: Valor de b n: Numero de iteraciones h: Tamao de pasot: Vector con los datos obtenidos pata la variable tRungeKutta4: Vector con los datos obtenidos por rk4AdamsBasforth03: Vector con los datos obtenidos por AdamsBasforth de tres pasos

Algoritmof=f(z,t,y): funcin en formato texto debe contener variables t y yfunction f=f(z,t,y) f=eval(z);

RungeKutta4(z,a,b,vi,n) : Funcion que devuelve un vector con los valores de Rk4

function mRungeKutta4=RungeKutta4(z,a,b,vi,n)mRungeKutta4=[];h=(b-a)/n;ti=a;yrk4=vi;mRungeKutta4(1)=vi;for r=2:n+1 k1=h*f(z,ti,yrk4); k2=h*f(z,ti+h/2,yrk4+k1/2); k3=h*f(z,ti+h/2,yrk4+k2/2); k4=h*f(z,ti+h,yrk4+k3); yrk4=yrk4+1/6*(k1+2*k2+2*k3+k4); mRungeKutta4(r)=yrk4; ti=ti+h;end

Basforth03 (z,a,b,vi,n) : Funcion que devuelve un vector con los valores de Rk4

function mBasforth=Basforth03(z,a,b,vi,n)mBasforth03=[];h=(b-a)/n;ti=a;yBasforth03=vi;mBasforth03=RungeKutta4(z,a,b,vi,n); ti=ti+(3)*h;r=4;yBasforth03=mBasforth03 (r-1)+h/12*(23*f(z,ti-1*h,mBasforth03 (r-1))-16*f(z,ti-2*h,mBasforth03 (r-2))+5*f(z,ti-3*h,mBasforth03 (r-3)));ti=ti+h;mBasforth03 (r)=yBasforth03; AdamsBashForth03.m%------Metodos de AdamsBashForth de 3 pasos------clc;disp(' Metodos de AdamsBashForth de 3 pasos ');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;fprintf ('\n ti yi \n ');AdamsBasforth03=Basforth03(fu,a,b,vi,n);for i=1:n+1 t(i)= (i-1)*h; fprintf ('%5.5f %5.5f \n ',t(i),AdamsBasforth03(i));endhold off;plot(t,AdamsBasforth03,'+');xlabel('Pasos');ylabel('Valor aproximado');legend('Metodo AdamsBashForth de 3 pasos');hold on;disp('________________'); Metodos de AdamsBashForth de 3 pasos

ingrese funcion f(t,y) = 'y+t'ingrese Valor de Valor Inicial = 0ingrese Valor de A = 0ingrese Valor de B = 1ingrese iteraciones = 10

ti yi 0.00000 0.00000 0.10000 0.00517 0.20000 0.02140 0.30000 0.04982 0.40000 0.09182 0.50000 0.14872 0.60000 0.22212 0.70000 0.31375 0.80000 0.42554 0.90000 0.55960 1.00000 0.71828 ________________