]> AND Private Git Repository - cours-mesi.git/blob - tel/TPmatlab/equation_differentielle/TP5c/phi_runge_kutta4_symbolique.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
j
[cours-mesi.git] / tel / TPmatlab / equation_differentielle / TP5c / phi_runge_kutta4_symbolique.m
1 function phi=phi_runge_kutta4_symbolique(t,y,h);\r
2 \r
3 %\r
4 %       phi_runge_kutta4_symbolique : définition symbolique de Runge Kutta 4 (Phi)\r
5 %\r
6 % *********************************************************\r
7 %\r
8 %       phi=phi_runge_kutta4_symbolique(t,y,h)\r
9 %   calcule la fonction (en symbolique)  : (t,y)-> Phi(t,y) telle\r
10 %   le schéma de Runge Kutta 4 s'écrive sous la forme :\r
11 %   y_{i+1}=y_{i}+h Phi(t_i,y_i,h)\r
12 %       variables d'entrée : t , y et h (symbolique))\r
13 %%      variables de sortie : res=Phi(t,y,h)\r
14 %\r
15\r
16\r
17 % ************ Fonctions auxiliaires utilisées ************\r
18 %\r
19 %       aucune\r
20 %\r
21 % *********************************************************\r
22 %\r
23 \r
24 syms yb tb hb;\r
25 fcn=sym('f(tb,yb)');\r
26 k1tilde=fcn;\r
27 fcnb=subs(fcn,{'tb','yb'},{tb+1/2*hb,yb+1/2*hb*k1tilde});\r
28 k2tilde=fcnb;\r
29 fcnb=subs(fcn,{'tb','yb'},{tb+1/2*hb,yb+1/2*hb*k2tilde});\r
30 k3tilde=fcnb;\r
31 fcnb=subs(fcn,{'tb','yb'},{tb+hb,yb+hb*k3tilde});\r
32 k4tilde=fcnb;\r
33 phi=1/6*(k1tilde+2*k2tilde+2*k3tilde+k4tilde);\r
34 phi=subs(phi,{'tb','yb','hb'},{char(t),char(y),char(h)});\r