Résolution numérique d`équations différentielles - Jean

Transcription

Résolution numérique d`équations différentielles - Jean
GCE3-GE3, Scilab
2011
Résolution numérique
d'équations différentielles
Nous allons étudier dans ce problème des méthodes permettant de donner des
solutions numériques à des équations diérentielles de la forme
y 0 (x) = f (x, y(x)),
où f est une fonction de deux variables raisonnablement régulière. Les équations
y 0 = y , y 0 = xy 2 ou y 0 = 3y − ex sont des exemples d'équations de cette forme.
Pour que le problème soit complet, il faut ajouter une condition initiale de la
forme y(0) = a0 . Résoudre numériquement le problème consiste à trouver pour un
nombre ni d'abscisses x les valeurs approximatives y(x) de la solution y .
Nous tracerons cette solution sur un intervalle [0, T ]. Pour cela, nous découperons
cet intervalle en intervalles réguliers et déterminerons les valeurs numériques de la
solution y aux points de la forme k Tn pour k = 0, . . . , n.
Le but de ce devoir est de décrire la qualité des méthodes proposées puis d'utiliser
ces méthodes pour décrire un problème de théorie du chaos.
1.
Méthode d'Euler
On note y la solution de notre problème. Pour un entier n donné, on considère les points de l'intervalle [0, T ] de la forme xk = k Tn . La méthode d'Euler
consiste à déterminer les valeurs approximatives yk = y(xk ) de manière récursive en posant
y0 = y(0) = a0
et pour k ≥ 1
yk = yk−1 + (xk − xk−1 )f (xk−1 , yk−1 ).
(a) Expliquer l'idée de la méthode.
(b) Se donner un programme f permettant de dénir une fonction de deux
variables que l'on choisira.
(c) Écrire un programme Euler(a0 , T, n) qui donne les valeurs approximatives
yk de la solution du problème et qui trace cette solution.
(d) Vérier votre programme en résolvant des équations diérentielles dont
on connaît les solutions (on choisira soi-même les valeurs de a0 , T et n) :
1
y 0 = y , y 0 = x+0,1
, y 0 = −y 2 , y 0 = cos(x)y , etc.
(e) Comparer graphiquement une de vos solutions numériques à la solution
théorique. L'approximation est-elle bonne ? Décrire l'erreur commise.
(f) On xe T . On note y la solution théorique du problème et y (n) la solution
numérique obtenue pour n. La qualité de l'approximation est mesurée par
en = max y(x) − y (n) (x) .
x∈[0,T ]
Tracer en en fonction de n. La méthode converge-t-elle ? Si oui, déterminer
sa vitesse de convergence.
1
2.
Méthode de Runge-Kutta 4
Nous proposons une deuxième méthode. Il s'agit d'un ranement de la méthode d'Euler utilisant des points milieux. Elle est dénie récursivement par
y(0) = a0 et pour i ≥ 1, on pose h = Tn et on dénit
k1
k2
k3
k4
yi
=
=
=
=
=
f (xi−1 , yi−1 ),
f (xi−1 + h2 , yi−1 + h2 k1 ),
f (xi−1 + h2 , yi−1 + h2 k2 ),
f (xi−1 + h, yi−1 + hk3 ),
yi−1 + h6 (k1 + 2k2 + 2k3 + k4 ).
(a) Écrire un programme RK4(a0 , T, n) qui détermine la solution numérique
et la trace.
(b) Le tester sur les exemples vus plus haut.
(c) Cette méthode converge-t-elle ? Si oui, à quelle vitesse ?
(d) Comparer les deux méthodes. Quel est l'avantage de la méthode d'Euler ?
3.
Équations de Lorentz
Les équations de Lorentz sont les équations dénissant le système diérentiel
ci-dessous. Elles modélisent de façon très simpliste les évolutions météorologiques.

 x0 = 10(y − x)
y 0 = −xz + 28x − y
 0
z = xy − 38 z
On ne sait pas résoudre explicitement ces équations, mais on peut le faire
numériquement avec la méthode d'Euler et ainsi étudier les propriétés de leurs
solutions. Un programme est disponible à l'adresse
http ://jeanromain.heu.free.fr/Outils.html.
Il permet de tracer dans l'espace la courbe paramétrée (x(t), y(t), z(t)) dénie
par les solutions x, y et z pour t ∈ [0, T ].
(a) Exécuter le programme pour x0 = 5, y0 = −8, z0 = 6, T = 50 et
n = 20000. La courbe obtenue est appelée attracteur de Lorentz.
(b) Modier légèrement (voire très légèrement) les conditions initiales. Que
peut-on dire de la courbe obtenue ?
(c) Comparer numériquement les solutions obtenues pour des conditions initiales proches. On pourra entre autre tracer |x1 − x2 | où x1 et x2 sont des
solutions x obtenues pour des conditions initiales diérentes.
Une légère modication des conditions initiales a-t-elle une inuence importante sur la solution ?
(d) Conclure. Que peut-on dire des systèmes météorologiques ? Pourquoi estil dicile de faire des prédictions à long terme ? Est-il néanmoins possible
de décrire quelque chose sur le long terme ?
2

Documents pareils

Résolution numérique d`équations différentielles - Jean

Résolution numérique d`équations différentielles - Jean où f est une fonction de deux variables raisonnablement régulière. Les équations y 0 = y , y 0 = xy 2 ou y 0 = 3y − ex sont des exemples d'équations de cette forme. Pour que le problème soit comple...

Plus en détail