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