dimanche 26 mai 2013

Algorithme de la Méthode de Prédicteur-Correcteur pour la résolution d'équations différentielles en Matlab

Algorithme de la Méthode de Prédicteur-Correcteur pour la résolution d'équations différentielles en Matlab :

function [t,u]=predcor (odefun,tspan,y0,Nh ,...
predictor ,corrector ,varargin )
%PREDCOR Résout une équation différentielle avec une
% méthode predicteur -correcteur
% [T,Y]=PREDCOR (ODEFUN,TSPAN,Y0,NH,PRED,CORR) avec
% TSPAN=[T0 TF]
% intègre le système d’équations différentielles
% y’=f(t,y) du temps T0 au temps TF avec la condition
% initiale Y0 en utilisant une méthode générale
% prédicteur -correcteur sur une grille de NH
% intervalles équidistribués. La fonction ODEFUN(T,Y)
% doit retourner un vecteur correspondant à f(t,y)
% de même dimension que Y.
% Chaque ligne de la solution Y correspond
% à un temps du vecteur colonne T.
% [T,Y]=PREDCOR (ODEFUN,TSPAN,Y0,NH,PRED,CORR,P1 ,..)
% passe les paramètres supplémentaires P1,P2 ,.. aux
% fonctions ODEFUN, PRED et COOR de la manière
% CORR(T,Y,P1,P2...).
h=(tspan(2)-tspan(1))/Nh;
y=y0(:); w=y; u=y.’;
tt=linspace (tspan(1),tspan(2),Nh+1);
for t=tt(1:end -1)
fn = feval(odefun ,t,w,varargin {:});
upre = feval(predictor ,t,w,h,fn);
w = feval(corrector ,t+h,w,upre,h,odefun ,...
fn,varargin {:});
u = [u; w.’];
end
t = tt;
end

Aucun commentaire:

Enregistrer un commentaire