dimanche 26 mai 2013

Algorithme de la Méthode d’Euler Explicite pour la résolution d'équation différentielles en Matlab

Algorithme de la Méthode d’Euler Explicite pour la résolution d'équation différentielles en Matlab :

function [t,u]=feuler(odefun,tspan,y0,Nh,varargin )
%FEULER Résout une équation différentielle avec la
% méthode d’Euler explicite.
% [T,Y]=FEULER(ODEFUN,TSPAN,Y0,NH) 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 la méthode d’Euler
% explicite 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] = FEULER(ODEFUN,TSPAN,Y0 ,NH,P1,P2 ,...) passe
% les paramètres supplémentaires P1,P2 ,.. à la
% fonction ODEFUN de la maniere suivante:
% ODEFUN(T,Y,P1 ,P2...).
h=(tspan(2)-tspan(1))/Nh;
y=y0(:); % crée toujours un vecteur colonne
w=y; u=y.’;
tt=linspace (tspan(1),tspan(2),Nh+1);
for t = tt(1:end -1)
w=w+h*feval(odefun,t,w,varargin {:});
u = [u; w.’];
end
t=tt;
return

Aucun commentaire:

Enregistrer un commentaire