Equations différentielles ordinaires

Slides:



Advertisements
Présentations similaires
Cours 5-a Problèmes scalaires instationnaires d’ordre 1 en temps
Advertisements

Chapitre 9 La mécanique de Newton.
Exemples d’applications de la 2ème loi de newton
Physique en TS.
Cours 4-b Méthode des éléments finis 2D
Cours 8 Problèmes de dynamiques : techniques de résolution pas-à-pas
Cours 2 Méthode des différences finies Approche stationnaire
Cours 5-b Problèmes spatio-temporels d’ordre 1 en temps
Equations différentielles
La corde vibrante I) Equation de la corde vibrante 1) Le modèle.
Modèle proies-prédateurs
Méthode dEuler… … utilisée en physique pour tracer une courbe qui sapproche de la courbe théorique.
Au départ, il y a : - une équation différentielle du premier degré
Notion d'asservissement
Exercice n°34 page 164 Étude de la chute d’une balle de tennis de masse m = 58 g et de rayon r0=3, m et de volume V0. A la date t=0, la balle est.
Problèmes aux limites Généralités
Chapitre VII :Commande par retour d’état
Cours d’Automatique MASTER OIV
Continuité Introduction Continuité Théorème des valeurs intermédiaires
Modélisation Bond Graph
La méthode d’Euler Objectif : résoudre une équation différentielle de façon numérique Applications en physique (en Terminale S): Résoudre une équation.
Mise en situation... m g l = 1 m l2 = 1 Positions: Vitesses:
Cours de physique générale I Ph 11
Résolution des Équations Différentielles
Mémoire de Projet de Fin d’Etudes
Méthodes Numériques appliquées à la
Équations différentielles.
Systèmes Différentiels
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Modèle mathématique d’un vélo
Représentation des systèmes dynamiques dans l’espace d’état
Analyse numérique d’un écoulement dans un tube à choc
PROGRAMMATION SCIENTIFIQUE EN C
Le système masse-ressort
4.3 Le mouvement d’un projectile
Le pendule simple.
TD SA n°10: Proposition de correction
EXERCICE II : Le rugby, sport de contact et d’Évitement (8 points)
La méthode dEuler ( ) Ou comment connaître (à peu près) le futur avec - y t y t des conditions initiales connues, Une équa diff du premier degré.
Projet Analyse numérique – 2
ASI 3 Méthodes numériques pour l’ingénieur
04/09/2002école d'été du GRGS1 LES EQUATIONS VARIATIONNELLLES Jean-Charles MARTY CNES/GRGS.
Révisions de mécanique
ASI 3 Méthodes numériques pour l’ingénieur
Introduction aux équations différentielles ordinaires (EDO)
Rappel... Diagonalisation. Transformations linéaires.
Présentation de la méthode des Eléments Finis
Physique 3 Vibrations et ondes mécaniques
Elaboré par M. NUTH Sothan
Equation différentielle
Suites numériques Définitions.
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
Analyse des modes normaux
Physique 3 Vibrations linéaires et ondes mécaniques
CHAPITRE 1: ANALYSE DU MOUVEMENT
COMPRENDRE : Lois et modèles
Mouvement d'un point A à un point B
La vitesse.
Chapitre 9 La transformée de Laplace
FONCTION DERIVEE.
SÉRIE DE TAYLOR cours 28.
1/16 Chapitre 3: Représentation des systèmes par la notion de variables d’état Contenu du chapitre 3.1. Introduction 3.2. Les variables d’état d’un système.
Application des Lois de Newton aux mouvements
Introduction à l’Analyse Numérique
Commande optimale linéaire quadratique de Lunar Lander
Compléments sur le TP d’analyse de projectile
Chapitre 7 Les équations différentielles d’ordre 1
Chapitre 7 Les équations différentielles d’ordre 1
Résolution des équations différentielles
Transcription de la présentation:

Equations différentielles ordinaires Généralités * EDO  𝐹 𝑡, 𝑡 , 𝑦 ′ 𝑡 , …, 𝑦 𝑛 𝑡 =0 où F est connue, y(t) est la fonction inconnue de l’unique variable indépendante t (ou x, …). * L’ordre n de l’équation est celui de la dérivée de plus haut degré. Exemple: (y-t) / (y+t) - y’ = 0 est une EDO du premier ordre. * Les EDO d’ordre n>1, peuvent se ramener à un système de n EDO d’ordre 1. * Ces solutions sont rarement résolues analytiquement, on utilise donc des méthodes numériques pour approcher ces solutions. Le domaine sur lequel la solution est à déterminer doit être limité: t  [t0,T] et divisé en M intervalles de longueur h=(T-t0)/M appelé pas de discrétisation. Pour chaque nœud ti, i=0, 1, 2, …, M on cherche la valeur ui qui approche yi = y(ti). L’ensemble {u0 = y0, u1, ..., uM} est la solution numérique. On considérera les problèmes dits de Cauchy, ayant la forme : 𝑦 ′ 𝑡 =𝑓(𝑡, 𝑦 𝑡 ) 𝑦 𝑡 0 = 𝑦 0 Avec t  [t0, T] et où y0 est appelée ‘condition initiale’ (CI) Si la fonction f(t, y) est continue par rapport à ses 2 variables et possède la propriété : ∃ 𝐿 ∈ ℝ + 𝑡𝑒𝑙 𝑞𝑢𝑒 𝑓 𝑡, 𝑦 1 −𝑓 𝑡, 𝑦 2 ≤𝐿. 𝑦 1 − 𝑦 2 , ∀ 𝑦 1 , 𝑦 2 ∈ℝ Alors la solution y = y(t) existe et est unique. (Théorème de Cauchy-Lipschitz) \left\{\begin{matrix} y'(t)=f (t,y(t)) \\ y(t_{0})=y_{0} \end{matrix}\right |f (t,y_{1})-f (t,y_{2})|\leq L\, |y_{1}-y_{2}|,\; \; \forall y_{1},y_{2} \in \mathbb{R} t0 t1 t2 t3 t4=T M=4 intervalles, mais M+1=5 nœuds

Equations différentielles ordinaires Condition initiale (CI), unicité Toutes ces courbes ont la même dérivée y’ = f(t, y) Les CI assurent l’unicité de la solution Si la CI est à l’intérieur, résoudre en 2 fois : CIgauche, puis CIdroite

Equations différentielles ordinaires Méthodes d’Euler On peut obtenir la méthode d’Euler en intégrant l’EDO du problème de Cauchy sur une étape (tn  tn+1) : On a : 𝑡 𝑛 𝑡 𝑛+1 𝑑𝑦= 𝑡 𝑛 𝑡 𝑛+1 𝑓 𝑡, 𝑦 𝑡 .𝑑𝑡 ≈ 𝑡 𝑛+1 − 𝑡 𝑛 .𝑓 𝑡 𝑛 , 𝑦 𝑛 =ℎ.𝑓 𝑡 𝑛 , 𝑦 𝑛 𝑦 ′ 𝑡 =𝑓 𝑡, 𝑦 𝑡 ⟹𝑑𝑦=𝑓 𝑡, 𝑦 𝑡 .𝑑𝑡 𝑡 𝑛 𝑡 𝑛+1 𝑑𝑦=𝑦 𝑡 𝑛+1 −𝑦 𝑡 𝑛 = 𝑦 𝑛+1 − 𝑦 𝑛 En remplaçant « y » par la solution numérique « u » on a la méthode explicite d’Euler : L’approximation rectangulaire avec fn+1, donne la méthode implicite d’Euler : 𝑢 𝑛+1 − 𝑢 𝑛 =ℎ.𝑓 𝑡 𝑛+1 , 𝑢 𝑛+1 ⟹ 𝑢 𝑛+1 = 𝑢 𝑛 +ℎ. 𝑓 𝑛+1 (E2) Cette dernière méthode ne permet pas d’obtenir un+1 directement, mais seulement après la résolution de l’équation 𝑢 𝑛+1 = 𝑢 𝑛 +ℎ.𝑓 𝑡 𝑛+1 , 𝑢 𝑛+1 où un+1 est l’inconnue. On peut utiliser les fonctions fzero ou fsolve ou une méthode de point fixe à cette fin(voir chapitre « Equations Non-Linéaires » ). 𝑢 𝑛+1 − 𝑢 𝑛 =ℎ.𝑓 𝑡 𝑛 , 𝑢 𝑛 ⟹ 𝑢 𝑛+1 = 𝑢 𝑛 +ℎ. 𝑓 𝑛 (E1) \int_{t_{n}}^{t_{n+1}} dy= y(t_{n+1}) - y(t_{n}) = y_{n+1} - y_{n} \int_{t_{n}}^{t_{n+1}}f(t,y(t)) \int_{t_{n}}^{t_{n+1}} f(t, y(t))dt\approx (t_{n+1} - t_{n}). f(t_{n}, y(t_{n}))=h. f(t_{n}, y(t_{n})) u_{n+1} - u_{n}=h.f(t_{n},u_{n})\Rightarrow u_{n+1}=u_{n}+h.f_{n} u_{n+1}=u_{n}+h.f(t_{n+1}, u(t_{n+1}))=u_{n}+h.f_{n+1}

Equations différentielles ordinaires Méthodes d’Euler: un exemple 𝑦 ′ 𝑡 = 𝑦−𝑡 𝑦+4𝑡 𝑦 𝑡 0 =1 Soit le problème de Cauchy ci-contre. On cherche à le résoudre numériquement sur le domaine [0, 3]: f=@(t, u) (u-t)./(u+4*t); h=1e-2; t=0:h:3; u(1)=1; for n=1:length(t)-1 u(n+1)=u(n) + h*f(t(n), u(n)); end plot(t, u) (E1) f=@(t, u) (u-t)./(u+4*t); % u(n+1)=u(n) + h*f(t(n+1), u(n+1)); % ==> % 0 = -u(n+1) + u(n) + h*f(t(n+1), u(n+1)) % u(n+1) est l'inconnue X de l'équation % g(X) = 0 avec la fonction g: % g=@(X) -X + u(n) + h*f(t(n+1), X); h=1e-2; t=0:h:3; u(1)=1; for n=1:length(t)-1 g=@(X) -X + u(n) + h*f(t(n+1), X); u(n+1)= fzero(g, u(n)); end plot(t, u ) (E2) \left\{\begin{matrix} y'(t)=\frac{y-t}{y+4t} \\ y(t_{0})=1 \end{matrix}\right

Equations différentielles ordinaires Méthodes de Crank-Nicolson, Runge-Kutta, multi-pas On utilise maintenant une approximation trapézoïdale de l’aire sous la courbe f(t, y). On obtient alors: 𝑢 𝑛+1 − 𝑢 𝑛 =ℎ.𝑓 𝑡 𝑛 , 𝑢 𝑛 − 1 2 ℎ. 𝑓 𝑡 𝑛+1 , 𝑢 𝑛+1 −𝑓 𝑡 𝑛 , 𝑢 𝑛 Ce qui constitue la méthode de Crank-Nicolson (méthode implicite). 𝑢 𝑛+1 = 𝑢 𝑛 + 1 2 ℎ. 𝑓 𝑛+1 + 𝑓 𝑛 (CN1) En utilisant des approximations plus fines de quadrature (comme par exemple la formule de quadrature de Simpson qui utilise le point milieu tn+1/2), on peut générer des schémas plus sophistiqués donnant une plus grande précision dans la solution. Les méthodes de Runge-Kutta sont basées sur ce principe et nécessitent l’évaluation de plusieurs valeurs de la fonction f(t, y) sur chaque intervalle [tn, tn+1]. Toutes les méthodes vues ci-dessus sont des méthodes dites « à un pas ». Les méthodes multi-pas utilisent la même approche (quadrature) mais en dehors de l’intervalle [tn,tn+1]. On a par exemple la formule d’Adams-Bashforth (explicite): 𝑢 𝑛+1 = 𝑢 𝑛 + 1 12 ℎ. 23 𝑓 𝑛 −16 𝑓 𝑛−1 +5 𝑓 𝑛−2 ou encore la formule implicite à 3 pas d’Adams-Moulton: 𝑢 𝑛+1 = 𝑢 𝑛 + 1 24 ℎ. 9 𝑓 𝑛+1 +19 𝑓 𝑛 −5 𝑓 𝑛−1 + 𝑓 𝑛−2 u_{n+1} - u_{n}=h.f(t_{n},u_{n})+\frac{1}{2}h.(f(t_{n+1},u_{n+1})-f(t_{n},u_{n})) u_{n+1} - u_{n}=h.f(t_{n+\frac{1}{2}},u_{n+\frac{1}{2}}) u_{n+1} - u_{n}=\frac{h}{12}.(23 f_{n}-16f_{n-1}+5f_{n-2})

Equations différentielles ordinaires Méthodes prédicteur-correcteur Les méthodes implicites nécessitent pour chacune de leurs étapes la résolution d’une équation où un+1 est l’inconnue. On peut aussi rendre la méthode explicite en utilisant la méthode d’Euler (E1). Par exemple, considérons la méthode de Crank-Nicolson, on a: 𝑢 𝑛+1 = 𝑢 𝑛 + 1 2 ℎ. 𝑓 𝑡 𝑛+1 , 𝑢 𝑛+1 +𝑓 𝑡 𝑛 , 𝑢 𝑛 (𝐶𝑁1) Utilisons (E1) pour produire une « prédiction » sur un+1, 𝑢 ∗ 𝑛+1 = 𝑢 𝑛 +ℎ. 𝑓 𝑛 (PC1) que l’on injecte dans (CN1) pour « corriger » : Les 2 phases (PC1) et (PC2) constitue une méthode dite prédicteur-correcteur (ici la méthode est dite « de Heun »). 𝑢 𝑛+1 = 𝑢 𝑛 + 1 2 ℎ. 𝑓 𝑡 𝑛+1 , 𝑢 ∗ 𝑛+1 +𝑓 𝑡 𝑛 , 𝑢 𝑛 (𝑃𝐶2) u_{n+\frac{1}{2}}=u_{n}+\frac{h}{2} .f_{n} u_{n+1} - u_{n}=\frac{h}{2}.(f(t_{n},u_{n})+f(t_{n+1},u_{n+1}))

Equations différentielles ordinaires Propagation de l’erreur, consistance d’une méthode Soit en+1 = yn+1 – un+1, l’erreur à l’étape n+1. On a d’une part en utilisant Taylor: yn+1 = yn + h.y’n + (h2) = yn + h.f(tn, yn) + (h2) et d’autre part (dans le cas de E1): un+1 = un + h.f(tn, un) soit donc: en+1 = (yn - un )+ h.f(tn, yn) - h.f(tn, un) + (h2) en+1 = en + h.{f(tn, yn) - f(tn, un)} + (h2) en+1 = en + h.{f(tn, yn) - f(tn, yn- en)} + (h2) en+1 = en + h.en.{f(tn, yn) - f(tn, yn- en)} / en + (h2) en+1 = en + h. en.[f/y ]n + (h2) en+1 = en { 1 + h.[f/y ]n } + (h2) * L’erreur se propage d’un pas au suivant, le facteur d’amplification doit être < 1 pour que la solution numérique converge ce qui donne une condition sur h. * On dit qu’une méthode est consistante si l’erreur de consistance est un infiniment petit en h.  = facteur d’amplification Erreur de troncature ou erreur de consistance

Equations différentielles ordinaires Propagation de l’erreur, consistance d’une méthode .e1 e2 u1 (h2) e1 y1 u0 = y0

Equations différentielles ordinaires ode45 La fonction ode45 de Matlab est un « solveur » d’EDO (ODE en anglais). Son algorithme est basée sur une méthode du type Runge-Kutta explicite. Elle possède typiquement 2 sorties et 3 entrées: [t, u] = ode45(f, tspan, y0) avec: u la solution numérique calculée aux temps contenus dans le vecteur t. f est la poignée de la fonction f(t, y) du problème de Cauchy concerné. tspan est un vecteur du type [tinitial, tfinal] indiquant à ode45 le domaine sur lequel chercher la solution. Enfin y0 est la condition initiale. Une 4 ième entrée possible est ‘options’ que l’on utilise en conjonction avec la fonction ‘odeset’ afin par exemple de régler la précision de la solution numérique. Exemple: génère 40 valeurs de la solution u, réparties entre t=0 et t=3 secondes. f=@(t, u) (u-t)./(u+4*t); tspan = [0, 3]; y0=1; [t, u] = ode45(f, tspan, y0); plot(t, u) 𝑦 ′ 𝑡 = 𝑦−𝑡 𝑦+4𝑡 𝑦 𝑡 0 =1 Pour utiliser ODE45, la fonction f doit avoir la forme dy=f(t, y)

Equations différentielles ordinaires Système d’EDO Exemple d’un système d’EDO où x et y sont des fonctions d’une variable indépendante, par exemple du temps. Les conditions initiales sont précisées. On peut appliquer une méthode du type (E1)... ... ou plus pratique du point de vue programmation, écrire le système sous forme vectorielle... … pour par exemple, utiliser ode45: \begin{matrix}y_{1}'=y_{1}-4y_{2}\\ y_{2}'=y_{1}\: + \; y_{2}\\y_{1}(0)=1; y_{2}(0)=2;\end{matrix} \begin{matrix}u_{1}(n+1) =u_{1}(n) + h [ u_{1}(n)-4u_{2}(n)]\\ u_{2}(n+1) =u_{1}(n) + h [ u_{1}(n)\; +\: u_{2}(n)]\\u_{1}(0)=1; u_{2}(0)=2;\end{matrix} \begin{matrix}U=(u_{1}; \: u_{2})\; \; \; \; \; \;\; \; \;\; \; \;\; \; \;\; \; \;\\ U'=(u_{1}-4u_{2}; \: u_{1}+u_{2})\\U'=F(U)\; \; \; \; \; \;\; \; \;\; \; \;\; \; \;\; \; \; \; \;\; \end{matrix} F=@(t,U) [U(1)-4*U(2); U(1)+U(2)]; [tsol, usol] = ode45(F, [0,1], [1;2]); plot(tsol, usol(:,1), tsol, usol(:,2)) Pour utiliser ODE45, la fonction f doit avoir la forme dy=f(t, y)

Equations différentielles ordinaires EDO d’ordre > 1 Une EDO d’ordre m est une relation donnant la dérivée m-ienne en fonction du temps t, de la variable inconnue y et de ses dérivées d’ordre inférieur. Une solution unique est possible en connaissant m conditions initiales: On peut la transformer en un système de m EDO du premier degré en posant: et en dérivant ces nouvelles variables pour obtenir une forme de Cauchy W’= F(t, W): Les conditions initiales étant: \left\{\begin{matrix}y^{m}(t)=f (t,y(t),y'(t),..,y^{m-1}(t))\;\;\;\;\;\;\;\;\;\;\;\;\; \;\\ y(t_{0})=y_{0},\; y'(t_{0})=y_{1},...,\;y^{m-1}(t_{0})=y_{m-1}\end{matrix}\right \left\{\begin{matrix}w'_{1}=w_{2}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\\ w'_{2}=w_{3}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\\ ...\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\\ ...\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\\ ...\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\\ w'_{m-1}=w_{m}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\\ w'_{m}=f (t,w_{1},w_{2},..,w_{m})\end{matrix}\right.

Equations différentielles ordinaires EDO d’ordre > 1 : exemple Soit un pendule simple de longueur L=1m lâché sans vitesse initiale d’un angle y0=pi/4 compté par rapport à la verticale. Son mouvement est régi par l’équation différentielle (g=9.81 m.s-2) du 2ième ordre: On pose w1=y; w2=y’; on dérive  w’1= w2; w’2= -g/L*sin(w1); On programme: Alternativement, on écrit la fonction dans un fichier: et on l’appelle avec ode45: >> g=9.81; L=1; >> f=@(t, w) [w(2); -g/L*sin(w(1))]; >> [tsol, wsol]=ode45(f, [0,10], [pi/4, 0]); >> plot(tsol, wsol(:,1), '-or', tsol, wsol(:,2), '-s‘) function dw=fpendule(t, w) g=9.81; L=1; dw=[w(2); -g/L*sin(w(1))]; end >> ode45(@fpendule, [0,10], [pi/4, 0]) Pour utiliser ODE45, la fonction f doit avoir la forme dy=f(t, y)

Equations différentielles ordinaires Exercice: convergence conditionnelle Expérimenter sur la valeur du pas h de la méthode E1 ci-dessous et constater qu’au dessus d’un pas critique, la solution numérique « diverge ». f=@(t, u) (u-t)./(u+4*t); h=1e-2; t=0:h:3; u(1)=1; for n=1:length(t)-1 u(n+1)=u(n) + h*f(t(n), u(n)); end plot(t, u)

Equations différentielles ordinaires Exercice: stabilité absolue, conditionnelle On appelle « problème modèle » l’EDO ci-contre dont la solution exacte est: Ce problème est utilisé pour définir la notion de stabilité d’une méthode: Une méthode est absolument stable si sa solution numérique pour le problème modèle est telle que: Il peut exister une condition sur le pas de discrétisation h pour que la méthode soit stable. On parle alors de stabilité conditionnelle. Une méthode peut être instable. 1/ Montrer que E1 est stable à la condition : 2/ Montrer que E2 et CN1 possèdent une stabilité inconditionnelle. \left\{\begin{matrix}y'(t)=\lambda y(t),\\t\in \mathbb{R}^{+}\;\,\;\;\;\,\;\;\;\,\;\\\lambda <0\;\,\;\;\;\,\;\;\;\,\;\;\;\, \\ y(0)=1\;\,\;\;\;\,\;\;\\end{matrix}\right

Equations différentielles ordinaires Exercice: méthode « mixte » Que peut-on dire de la méthode: lorsque =0 ? =1 ? =0.5 ? Exercice: mouvement d’un mobile Soit un mobile de coordonnées x(t), y(t) telles que x’=x-4y et y’=x+y. A l’instant initial t=0, le mobile se trouve à la position (2, 3). Représenter sa trajectoire sur l’intervalle t=[0, 3]. Exercice: pendule dans une gravitation évanescente Résoudre le problème du pendule en supposant que l’accélération de la pesanteur diminue après l’instant initial selon la loi g(t) = g0.2-t avec g0 = 9.81 m.s-2. Même expérience si g(t) = g0.2t. Indice: utiliser ode45, produire les graphiques y=y(t) où y est l’angle du pendule.

Equations différentielles ordinaires Exercice: EDO 1ier ordre, 2ième ordre 1/ Pour t=[0, 10] résoudre numériquement l'équation différentielle du 1er ordre suivante: La solution exacte de ce système est : Représenter graphiquement yExact et ynumérique 2/ Résoudre l’équation de van der Pol (prendre t=[0, 10], µ=1, y(0)=2, y’(0)=0) par une méthode E1, puis comparer avec le résultat retourné par ode45:

Equations différentielles ordinaires Exercice: trajectoire d’un satellite On désire tracer la trajectoire d’un satellite artificiel de masse m autour de la Lune de masse M. La lune est placée à l’origine d’un référentiel absolu où le satellite possède les coordonnées x, y et on notera: On applique le principe fondamental de la dynamique au satellite pour obtenir la force F exercée par la Lune sur le satellite: D’autre part, on a Résoudre ce problème en expérimentant différentes conditions initiales. Produire les graphiques de la trajectoires. m=103 kg, M=7 1022 kg, K=6.67 10-11 N.m2.kg-2 \overrightarrow{F}=\frac{d\overrightarrow{p}}{dt}=m\frac{d\overrightarrow{v}}{dt}=m\binom{\dot{x}}{\dot{y}} \overrightarrow{F}=\frac{KmM}{\left | \overrightarrow{mM} \right |^{2}}\; .\; \frac{\overrightarrow{mM}}{\left | \overrightarrow{mM} \right |}

Equations différentielles ordinaires Questions de cours 1/ Donner la forme du problème de Cauchy. 2/ Donner la méthode d’Euler explicite. 3/ Donner la méthode d’Euler implicite. 4/ Donner la méthode de Crank-Nicholson.