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
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...