Académique Documents
Professionnel Documents
Culture Documents
L’objectif de ce TP est d’implémenter quelques méthodes de résolution numérique des équations différentielles,
ou plus précisément du problème de Cauchy
0
y (t) = f (t, y(t)) t ∈ [t0 , tf in ]
(PC)
y(t0 ) = y 0
qui résoud (PC) avec un pas de temps dt. Le vecteur T=[t0,t1...,tN] contiendra tous les temps intervenant
dans le calcul, et Y=[y0,y1,...,yN] les valeurs de la solution approchée en ces temps (la variable de temps
se lit donc de gauche à droite).
2. Testez votre code avec f (t, y) = −λy (pour une constante λ > 0), et montrez que certaines valeurs de dt
mènent à des instabilités numériques.
3. Testez votre code en dimension deux sur l’exemple
0 0 −1 y1
y = R 2 (y) =
π · .
1 0 y2
et tracez la courbe d’erreur E = max |yn − y(tn )| en fonction de dt. Quel est l’ordre de la méthode d’Euler
n≤N
explicite?
2 Méthodes de Runge-Kutta
4. Écrivez une fonction Matlab d’entête
5.
1
ENSEM 1A-ISN Analyse Numérique
0 0 0 0 0
1 1
2 2 0 0 0
1 1
2 0 2 0 0
1 0 0 1 0
1 2 2 1
6 6 6 6
7. Comparez les trois méthodes précédentes (Euler, Runge, RK4) en reprenant l’exemple de la question 3 et en
traçant sur un même graphique les erreurs en fonction du pas de temps. Qu’observe-t-on en termes d’ordre
de consistance? Quelle est la meilleure méthode?