Introduction aux équations différentielles ordinaires (EDO)

Slides:



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

Cours 8 Problèmes de dynamiques : techniques de résolution pas-à-pas
Equations différentielles
Unité #2 Analyse numérique matricielle Giansalvo EXIN Cirrincione.
ASSERVISSEMENTS ET REGULATION
1. DéRIVée Définition tangente sécante Soit l’application f de ,
1. DéRIVée Définition tangente sécante Soit l’application f de ,
Notion d'asservissement
Master IXXI, cours interdisciplinaire de systèmes dynamiques Emmanuel Risler, INSA de Lyon 1 - Equations différentielles sur la droite.
Master IXXI, cours interdisciplinaire de systèmes dynamiques Emmanuel Risler, INSA de Lyon 3 - Systèmes différentiels dans le plan, suite.
Sytèmes dynamiques – modélisation Emmanuel Risler 2008 – 2009 INSA de Lyon - GEN.
Equations différentielles ordinaires
Master IXXI, cours interdisciplinaire de systèmes dynamiques Emmanuel Risler, INSA de Lyon 2 - Equations différentielles dans le plan.
Animation de solides en contact par modèle physique
Chapitre VII :Commande par retour d’état
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.
Introduction Ph. Leray Analyse Numérique.
Mise en situation... m g l = 1 m l2 = 1 Positions: Vitesses:
Chapitre 2 : La fonction de transfert
Résolution des Équations Différentielles
Équations différentielles.
Modèle mathématique (simplifié) d’un vélo
Correction des Systèmes
Fonction exponentielle: enchaînement de théorèmes
Équations Différentielles
Pablo Inchausti Marie-Agnès Coutellec Yvan Lagadeuc
Systèmes Différentiels
Chapitre 3: Caractérisation des systèmes
Représentation des systèmes dynamiques dans l’espace d’état
Autres exemples de modèles
Modèle mathématique d’un vélo
Représentation des systèmes dynamiques dans l’espace d’état
Projet Analyse numérique – 2
Analyse des systèmes linéaires types
l’algorithme du simplexe
ASI 3 Méthodes numériques pour l’ingénieur
Mesures dans le temps Claude Marois 2012.
Rappel... Diagonalisation. Transformations linéaires.
Présentation de la méthode des Eléments Finis
Physique 3 Vibrations et ondes mécaniques
Physique 3 Vibrations et ondes mécaniques
Equation différentielle de 2ème ordre
Physique 3 Vibrations linéaires et ondes mécaniques
ASI 3 Méthodes numériques pour l’ingénieur
Approche naïve de la résolution.
Méthode différentielle Mercredi 8 mars 2006 Principe, historique, recherches actuelles.
Suites numériques Définitions.
Chapitre 3-B : AUTOMATIQUE : LES S.L.C.I.
Analyse des modes normaux
Modèles d’évolution de population
Physiologically Structured Population Models. Modèle de population non structurée Un exemple de modèle Ressource Consomateur classique: Rozenweig – McArthur:
Simulation en Dynamique des Fluides
ASI 3 Méthodes numériques pour l’ingénieur
Régulation et Asservissement: Notions de schémas blocs
Guy Gauthier, ing., Ph.D. 6 janvier 2015
Modèles d’évolution de population
Modélisation de systèmes ayant des réactions chimiques
SYSTEMES NON LINEAIRES
Chapitre 1 - Introduction.
Couche limite atmosphérique
Circuit RLC série en régime harmonique forcé
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.
Chapitre 7 Les équations différentielles d’ordre 1
Chapitre 7 Les équations différentielles d’ordre 1
Résolution des équations différentielles
Equilibre Ecologico Economique Pêche et sur pêche.
Simulation en Dynamique des Fluides M2 SDFT, Université Paris-Sud G. Kasperski, C.T. Pham,
Chapitre 4 Equations différentielles ordinaires à n variables.
Matlab (Matrix Laboratory) Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou.
Transcription de la présentation:

Introduction aux équations différentielles ordinaires (EDO) E. Grenier

Exemple: dynamique des populations

I.1. Dynamique des populations Population de N(t) individus au temps t Décrire l’évolution de cette population: Hypothèses sur la reproduction / prédation Mise en équation Simulations numériques Discussion Evolution de N ∂t N = naissances – décès Le modèle le plus simple (Euler) Le nombre de naissances est proportionnel à la population Naissances = a N Le nombre de décès est proportionnel à la population Décès = b N Bilan ∂t N = ( a – b ) N Résolution N(t) = N(0) exp( (a-b) t).

I.1. Dynamique des populations: Euler Résolution N(t) = N(0) exp( (a-b) t). Discussion a > b : natalité plus importante que la mortalité: croissance exponentielle de la population. a < b: natalité plus faible que la mortalité: décroissance exponentielle de la population. Discussion du modèle: Simple à mettre en équations et à résoudre La croissance exponentielle n’est pas réaliste: limitations dues au milieu ambiant Pour être plus réaliste il faut faire dépendre a et b de N … Changement d’hypothèses de mises en équations pour avoir un comportement plus réaliste. Hypothèses à ajouter: limitation de la croissance dans un milieu fini.

I.1. Dynamique des populations: modèle logistique Le modèle logistique (Verhulst, 1836): les nouvelles hypothèses Hypothèse de milieu limité: le milieu peut nourrir K individus Si N < K: il y a suffisamment de ressources: la population augmente car la natalité est supérieure à la mortalité. Si N > K: il n’y a pas assez de ressources: des individus meurent de faim. La mortalité devient supérieure à la natalité. Si N << K: cas d’Euler: croissance proportionnelle à N. Mise en équations: ∂t N = f(N) où f(N) > 0 si N < K f(N) < 0 si N > K. f(N) ~ c N si N << K De plus, il n’y a pas de création spontanée d’individus: f(0) = 0. Choix de f: le f le plus simple satisfaisant ces hypothèses est f(N) = r N (1 – N/K) où r est une constante.

I.1. Dynamique des populations: modèle logistique Equation logistique: ∂t N = f(N) = r N (1 – N/K) Discussion: Parfois f(N) est donné par des mesures expérimentales. Si on connaît bien la dynamique de reproduction / mort, on peut parfois en déduire f, mais il faut pour cela des hypothèses supplémentaires La fonction proposée est la plus simple qui fonctionne Signification des constantes K: capacité du milieu: nombre d’individus qu’il peut nourrir. r: c’est l’inverse d’un temps. Si N << K, f(N) ~ rN donc N(t) ~ N(0) exp(r t) C’est la vitesse de croissance de la population quand N << K.

I.1. Dynamique des populations: modèle logistique Equation logistique: ∂t N = f(N) = r N (1 – N/K) Les solutions analytiques existent ….. Allures des solutions: p2

I.1. Dynamique des populations: équilibre stable / instable Equation logistique: ∂t N = f(N) = r N (1 – N/K) Etat d’équilibre: N* tel que f(N*) = 0. Notion de stabilité: Équilibre stable: après une petite perturbation, le système revient à N* Equilibre instable: une petite perturbation déstabilise le système. Equation des petites perturbations: N(t) = N* + u(t) ∂t u = f(N*+u) = f ’(N*) u + O(u^2) soit en négligeant les termes de taille u^2 ∂t u = f ’(N*) u Discussion: f ’ (N*) > 0 : croissance de u : N* est un équilibre instable f ’ (N*) < 0: décroissance exponentielle de u: N* est un équilibre stable. Application à la logistique: deux états d’équilibre: 0 et K f ’ (0) > 0 donc 0 est instable f ’ (K) < 0 donc K est stable

I.2. Dynamique des populations: modèles avec prédation Ajout d’un phénomène : la prédation. Exemple: vers dans des arbres, mangés par des oiseaux. Modélisation: Modèle simple: pas d’équation sur le nombre de prédateurs P(n) nombre d’individus morts par prédation par unité de temps ∂t N = f(N) – P(N) Hypothèses sur la prédation: un premier exemple: La prédation est proportionnelle au nombre de vers Sauf s’il y a beaucoup de vers: effet de saturation: les oiseaux se gênent entre eux P(N) = BN / (A + N) Système obtenu ∂t N = r N (1 – N/K) – BN / (A+N)

I.2. Dynamique des populations: modèles avec prédation Modélisation: Hypothèses sur la prédation: un second exemple: La prédation est proportionnelle au nombre de vers Sauf s’il y a beaucoup de vers: effet de saturation: les oiseaux se gênent entre eux Sauf s’il y a trop peu de vers: les oiseaux ne se déplacent pas: P(N) = BN^2 / (A^2 + N^2) Système obtenu ∂t N = r N (1 – N/K) – BN^2 / (A^2+N^2)

I.2. Dynamique des populations: modèles avec prédation Etats d’équilibre du second modèle: r N* (1 – N*/K) – BN*^2 / (A^2+N*^2)=0 soit N* = 0 Soit r (1 – N*/K) (A^2 + N*^2) – BN* = 0 qui est une équation polynomiale de degré 3 qui a Soit trois racines réelles Soit une racine réelle et deux racines complexes conjuguées.

II.1. Populations en interaction: Lotka Volterra Deux populations: une de proies, une de prédateurs N(t) nombre de proies, P(t) nombre de prédateurs Le modèle de Lotka Volterra: Naissances des proies proportionnelles à N Morts par prédation: proportionnel à N et à P Naissances de prédateurs: proportionne à P et à N Mort de prédateur proportionnelle à P (mort naturelle). Mise en équations ∂t N = a N – b N P ∂t P = c N P – d P Remarque: pas de limitation par le milieu nourrisant les proies (herbivores). Propriété remarquable: soit α = d / a. H = α c N / d + b P / a + log (N^α P) ne dépend pas du temps.

II.1. Populations en interaction: Lotka Volterra

II.1. Populations en interaction: Lotka Volterra

II.2. Populations en interaction: Lotka Volterra modifié Deux populations: une de proies, une de prédateurs N(t) nombre de proies, P(t) nombre de prédateurs Le modèle de Lotka Volterra: Modèle logistique + prédation pour les proies Modèle logistique pour les prédateurs, la capacité du milieu étant proportionnelle au nombre de proies. Mise en équations ∂t N = r N (1 – N/K) – B N P / (A + N) ∂t P = k (1 – h P/N) Remarque: plus de quantité conservée comme H. Notion de cycle limite: les trajectoires « s’enroulent » autour d’une solution périodique.

II.2. Populations en interaction: Lotka Volterra modifié

II.3. Populations en interaction: compétition Deux populations en compétition pour la même ressource. N(t) nombre d’individus de la première espèce, P(t) nombre d’individus de la seconde espèce. Modélisation: Les espèces se gênent La capacité du milieu est partagée par les deux espèces Mise en équations ∂t N = rn N (1 – N/ Kn – b P /Kn) ∂t P = rp P (1 – P/Kp – b’ N/Kp) Signification des constantes: Kn : nombre d’individus de la première espèce que peut nourrir le milieu Kp : nombre d’individus de la seconde espèce que peut nourrir le milieu bP: fraction des ressources du milieu utilisées par l’espèce 2 (y compris la gêne) b’ N: fraction du milieu utilisé par l’espèce 1. Etats d’équilibre: N + b P = Kn P + b’ N = Kp

II.3. Populations en interaction: compétition Changement d’inconnues: u = N/Kn, v = P/Kp a = b Kp/Kn, a’ = b’ Kn/Kp Discussion: principe d’exclusion compétitive:

II.4. Populations en interaction: mutualisme Deux populations en symbiose se facilitent mutuellement l’accès à la ressource. N(t) nombre d’individus de la première espèce, P(t) nombre d’individus de la seconde espèce. Modélisation: Les espèces en symbiose La capacité du milieu est partagée par les deux espèces Mise en équations ∂t N = rn N (1 – N/ Kn + b P /Kn) ∂t P = rp P (1 – P/Kp + b’ N/Kp) Signification des constantes: Kn : nombre d’individus de la première espèce que peut nourrir le milieu Kp : nombre d’individus de la seconde espèce que peut nourrir le milieu bP: fraction des ressources du milieu rendue utilisable par l’espèce 2 par symbiose. b’ N: fraction du milieu rendue utilisable par l’espèce 1.

II.4. Populations en interaction: mutualisme

Exemple: épidémies

S + I + R ne dépend pas du temps (conservation du nombre d’individus) Epidémies: SIR Maladie contagieuse. Trois populations: S(t): nombre d’individus sains I(t): nombre d’individus malades R(t): nombre d’individus morts, ou guéris et immunisés contre la maladie. Modélisation: Contamination proportionnelle au nombre de rencontres entre individus sains et malades. Les malades ont une certaine probabilité de guérir par unité de temps. Mise en équations ∂t S = - r S I ∂t I = r S I – a I ∂t R = a I Remarque: S + I + R ne dépend pas du temps (conservation du nombre d’individus)

Epidémies: SIR

Epidémies: SIR

Petits systèmes d’EDOs

Une EDO u un scalaire. Comportements possibles ∂t u = u^2 ∂t u = f(u) Explosion: réaction autocatalysée ∂t u = u^2 Solution en 1/ (T_0 – t) Convergence vers un équilibre stable: ∂t u = f(u) u -> u* avec f(u*) = 0 convergence à vitesse exponentielle généralement Solution constante, reste sur un équilibre instable (exceptionnel)

Une EDO: un exemple Exemple: comportements possibles pour ∂t u = u (1 – u)

Une EDO: pas de comportement oscillant possible Pas de solution périodique possible pour une seule EDO: Preuve: ∂t u = f(u) On multiplie par ∂t u ce qui donne (∂t u)^2 = f(u) ∂t u Que l’on intègre entre t et t + T ∫ (∂t u)^2 = ∫ f(u) ∂t u Soit F définie par F’ = f Alors la dérivée de F(u(t)) vaut f(u) ∂t u donc la seconde intégrale vaut F(u(t+T)) – F(u(t)) = 0 Donc la première intégrale est nulle donc u est constante !

avec f(u*,v*) = g(u*,v*) = 0 Deux EDO u et v deux scalaires. ∂t u = f(u,v) ∂t v = g(u,v) Comportements possibles Explosion Convergence vers un équilibre stable: u -> u* et v -> v* avec f(u*,v*) = g(u*,v*) = 0 convergence à vitesse exponentielle généralement Solution constante, reste sur un équilibre instable (exceptionnel) Convergence vers une solution périodique

∂t (u + i v) = i*(u+i v) + (u+i v)*(1 – u^2 – v^2) Deux EDO Exemple: solution périodique stable ∂t (u + i v) = i*(u+i v) + (u+i v)*(1 – u^2 – v^2) cycle limite stable u^2 + v^2 = 1

Deux EDO: cas linéaire u et v deux scalaires. ∂t u = a u + b v ∂t v = c u + d v Solution explicite: Matrice M de coefficients a b c d Recherche de vecteurs propres et valeurs propres M e_1 = λ_1 e_1 M e_2 = λ_2 e_2 (sauf cas particulier λ_1 = λ_2). Solution est de la forme (u(t),v(t)) = a_1 e_1 exp(λ_1 t) + a_2 e_2 exp(λ_2 t). Comportement asymptotique dépend des signes des parties réelles de λ_1 et λ_2 0 est stable si et seulement si Re(λ_1) < 0 et Re(λ_2) < 0.

Deux EDO: cas linéaire: classification

Deux EDO: cas linéaire: classification

Trois ODE Trois scalaires u, v et w Les comportements précédents ne sont pas les seuls possibles Chaos possible: exemple le plus simple: le système de Lorenz: ∂t x = s (y-x) ∂t y = r x – y – xz ∂t z = x y – bz avec s = 10, r = 28, b = 8/3

Trois ODE: Lorenz

Trois ODE: Lorenz

Plusieurs ODE Classification impossible … Notion d’attracteur étrange Grande variabilité en fonction des paramètres Etude numérique est la seule possible en général Sauf cas très rares, pas de solution explicite aux équations différentielles ordinaires !

Simulations numériques

Schéma d’Euler (explicite) Le schéma le plus simple pour résoudre ∂t u = f(u). Principe: Calcul approché de u(t) pour t = 0, k, 2k, 3k, …. où k est le pas de temps. On note u_n la valeur approchée de u au temps n k. Erreur, d’autant plus petite que k est petit Pour évaluer u au temps T il faut calculer u_(T/k) donc faire T/k calculs Plus k est petit plus le calcul est précis et plus il est long (logique !) Le schéma d’Euler explicite Approche ∂t u au temps n k par ( u_(n+1) – u_n ) / k Schéma u_(n+1) = u_n + k f(u_n) u_0 donnée initiale Calcul itératif de u_(n+1) en fonction de u_n

Schéma d’Euler (explicite) Implémentation informatique de ∂t u = 2 u (1 – u) u(0) = 0.1 Programme Matlab ou R: u_0 = 0.1; % donnée initiale k = 0.01; % pas de temps Tmax = 5; % temps maximal de calcul u = zeros(Tmax/k,1); % vecteur qui va contenir la solution u(1) = u_0; for J=1:Tmax/k-1, % boucle de calcul u(J+1) = u(J) + k*2*u(J)*(1-u(J)); end plot(u); % affichage de la solution Démonstration: programme eulerexplicite.m

Schéma d’Euler (explicite) Précision: proportionnelle à k

Schéma d’Euler (explicite) Limitations: Erreur: proportionnelle à k … peut mieux faire -> Runge Kutta Echoue sur les problèmes « raides ». Exemple ∂t u = N f(u) où N est très grand: réaction très rapide. Avantages: Très simple à mettre en œuvre En particulier lorsque f est très complexe Autres schémas: Runge Kutta: ordre plus élevé: erreur en k^4 Euler implicite: supporte mieux les problèmes raides.

Schéma d’Euler (implicite) Le schéma d’Euler implicite Approche ∂t u au temps n k par ( u_(n+1) – u_n ) / k Schéma u_(n+1) = u_n + k f( u_(n+1) ) u_0 donnée initiale Implicite: il faut résoudre une équation pour obtenir u_(n+1) Equation u_(n+1) - k f( u_(n+1) ) = u_n Résolution de cette équation par une méthode de Newton

Runge Kutta Schéma plus complexe u_(n+1) = u_n + k (k_1 + 2k_2 + 2k_3 + k_4) /6 avec k_1 = f (t_n, x_n) k_2 = f (t_n + k⁄2, x_n + k⁄2 k_1) k_3 = f (t_n + k⁄2, x_n + k⁄2 k_2) k_4 = f (t_n + k, x_n + k k_3) Ordre 4: erreur en k^4 Erreur beaucoup plus petite … mais schéma plus complexe ! Très souvent implémenté dès que l’on veut plus de précision que pour Euler.

Autres méthodes Schémas d’ordres plus élevés: précision en k^N avec N aussi grand que l’on veut … mais schéma plus complexes. Schémas implicites Schémas avec contrôle a posteriori d’erreur. Bilan: Débuter par Euler Si nécessaire passer à Runge Kutta 4 En cas d’échec … consulter un spécialiste !

D’autres modèles

Equations avec retard Dynamique des populations: l’évolution de la population N au temps t dépend de N(t – T) où T est le temps de gestation pour les naissances, et de N(t) pour la mortalité Epidémie: idem: T temps d’incubation La dérivée de N(t) est une fonction de N(t – T) et de N(t) ∂t N(t) = f( N(t), N(t-T) ) Exemple: une variante de l’équation logistique ∂t N(t) = r N(t) ( 1 – N(t-T) / K) avec K capacité du milieu Solutions oscillantes possibles: exemple ∂t N(t) = π N(t-T) / 2T a pour solution N(t) = A cos (π t / 2 T) périodique de période 4T.

Equations avec retard: exemple: mouches et moutons Moutons australiens et mouches … Oscillations avec une période 35 à 40 jours.

Equations avec retard: respiration de Cheyne Stokes Physiologie: Respiration anormale Périodes d’apnée L’amplitude de la respiration augmente et diminue régulièrement, avec des périodes d’apnée.

Equations avec retard: respiration de Cheyne Stoke C(t) niveau de CO2 dans les artères La ventilation V(t) dépend de C(t) avec un retard T V = Vmax c(t-T) / [ a + c(t-T) ] Vmax : ventilation maximale, T temps de retard Evolution de c: ∂t C(t) = p – b V C(t) ce qui donne ∂t C(t) = p – b Vmax C(t) C(t-T) / [ a + c(t-T) ]

Equations avec retard: respiration de Cheyne Stoke Simulation numérique

Equations avec retard: respiration de Cheyne Stoke Changement de variables: x = c/a, V* = V/Vmax, α = abVmax/p T* = pT/a, t* = pt/a ce qui donne ∂t x(t) = 1 – α x(t) x(t-T) / [1 + x(t-T)] Etat stationnaire: x indépendant du temps, égal à x* α x*^2 = 1 + x* Linéarisation u = x – x* supposé très petit ∂t u(t) = - α V(x*) u(t) – α x* V’(x*) u(t-T) on cherche des solutions u(t) = u_0 exp(λ t) λ = - α V(x*) – α x* V’(x*) exp(-λ T) équation en λ.

Equations avec retard: cellules sanguines Dynamique du nombre de globules rouges ou blancs. C(t) densité de cellules Evolution: Mortalité Création par la moelle épinière, avec retard Equation ∂t C(t) = f(C(t-T)) – g C(t) où g est une constante et f(x) = λ a^m x /(a^m + x^m).

Equations avec retard: cellules sanguines

Equations avec retard: cellules sanguines