método de adams bashforth de tres pasos
DESCRIPTION
Método de Adams Bashforth de tres pasosTRANSCRIPT
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 ________________