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

Private GIT Repository
j
[cours-mesi.git] / tel / TPmatlab / equation_differentielle / TP5c / demo_determine_ordre.m
1 % ce script determine_ordre calcule les erreurs de consistance pour les \r
2 % schémas numériques d'Euler explicite, Runge Kutta 2 et 4. \r
3 \r
4 disp('calcul en cours ....');\r
5 syms t y h;\r
6 dly=calcul_developpement_limite(t,y,h,6);\r
7 phiee=phi_euler_explicite_symbolique(t,y,h);\r
8 phirk2=phi_runge_kutta2_symbolique(t,y,h);\r
9 phirk4=phi_runge_kutta4_symbolique(t,y,h);\r
10 ynpuee=y+h*phiee;\r
11 ynpurk2=y+h*phirk2;\r
12 ynpurk4=y+h*phirk4;\r
13 see=simplify(taylor(dly,h,3)-taylor(ynpuee,h,3));\r
14 srk2=simplify(taylor(dly,h,4)-taylor(ynpurk2,h,4));\r
15 srk4=simplify(taylor(dly,h,6)-taylor(ynpurk4,h,6));\r
16 disp('développement limité à l''ordre 5 : ');\r
17 pretty(expand(taylor(dly,h,6)));\r
18 disp('appuyez sur une touche pour continuer.');\r
19 pause;\r
20 disp('erreur de consistance pour Euler explicite (à l''ordre 2)  : ');\r
21 pretty(see);\r
22 disp('appuyez sur une touche pour continuer.');\r
23 pause;\r
24 disp('erreur de consistance pour RK2 (à l''ordre 3)  : ');\r
25 pretty(srk2);\r
26 disp('appuyez sur une touche pour continuer.');\r
27 pause;\r
28 disp('erreur de consistance pour RK4 (à l''ordre 5)  : ');\r
29 pretty(srk4);\r
30 disp('appuyez sur une touche pour continuer.');\r
31 pause;\r
32 \r
33 \r
34 \r