ENSAM-MEKNES 3EME ANNEE
TP N◦ 1 RESOLUTION NUMERIQUE
DES EDO 2020-2021
TP N◦ 1 Résolution numérique des EDO
Schémas d’Euler et ordre
Exercice 1 Euler explicite
On cherche à mettre en œuvre la méthode d’Euler explicite pour la résolution numérique du
problème de Cauchy (
y 0 (t) = f (t, y(t)), t ∈ [0, T ]
y(0) = y0 .
Elle consiste, pour un pas h donné, à construire une suite d’approximations (yn ) de la solution
y aux temps tn = nh, par la formule
yn+1 = yn + hf (tn , yn ).
Par la suite, on utilise l’exemple modèle y 0 = t − ty avec la condition initiale y(0) = 2. La
−t2
solution exacte de cet exemple est donnée par y(t) = 1 + e 2 .
Les fichiers Matlab "prg_principal.m", "EulerExp.m" et "f1.m" contiennent respectivement le
programme principal, le programme du schéma d’Euler explicite et le programme de la fonction
f . (Voir au dos de la feuille)
1. Tester le programme et interpréter la figure affichée
2. Programmer la solution exacte, puis calculer l’erreur d’approximation;
3. Tracer les deux solutions sur la même figure;
4. Effectuer des simulations pour différentes valeurs du pas h (h = T /N avec N = 10 : 10 :
1000);
5. Tracer la courbe du log des erreurs d’approximation en fonction du log des pas h;
6. Quel est l’ordre obtenue numériquement du schéma d’Euler explicite.
L’ordre numérique est la pente de la droite de la régression linéaire des points.
Exercice 2 Euler point milieu
On utilise ici l’exemple modèle précédent y 0 (t) = t − ty(t), y(0) = 2. La solution exacte est
−t2
donnée par y(t) = 1 + e 2 .
Le schéma d’Euler point milieu consiste à construire une suite d’approximations (yn ) de la
solution y de la façon suivante :
yn+1/2 = yn + h2 f (tn , yn )
yn+1 = yn + hf (tn + h2 , yn+1/2 ).
1. Ecrire une fonction "EulerPointMilieu" qui permet de calculer la solution approchée yn
par la méthode d’Euler point milieu.
2. Tracer les deux solutions approchées (Euler explicite et point milieu) et la solution exacte
sur la même figure
3. Déterminer numériquement l’ordre de la méthode d’Euler point milieu.
1
ENSAM-MEKNES 3EME ANNEE
TP N◦ 1 RESOLUTION NUMERIQUE
DES EDO 2020-2021
________________________________
%FICHIER : "prg_principal.m"
% Programme principal
clear all
close all
T=2.; % temps final
N=50; % Nombre de pas de temps
y0=2.; % solution initiale
[yap,tps]=EulerExp(@myfunc,y0,N,T);
plot(tps,yap)
xlabel(’temps t’);
ylabel(’y’);
title(’Solution approchee par Euler explicite’);
________________________________
________________________________
%FICHIER : "EulerExp.m"
%
function [liste_y,liste_t]=EulerExp(f,y0,N,T)
t=0; liste_t=[0];
y=y0; liste_y=[y0];
h=T/N;
for i=1:N
y=y+h*f(t,y);
t=t+h;
liste_t=[liste_t,t];
liste_y=[liste_y,y];
end
________________________________
________________________________
%FICHIER : "f1.m"
%
function yp = f1(t,y)
yp=t-t*y;
end
________________________________
________________________________
% Calcul de l’ordre numerique
% liste_h = [Link]
% liste_e : la liste des erreurs correspondantes à liste_h
polyfit(log(liste_h),log(liste_e),1)
________________________________