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

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

Embed Size (px)

Citation preview

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

Introduction aux équations différentielles ordinaires (EDO)

E. Grenier

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

Exemple: dynamique des populations

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

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

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

I.1. Dynamique des populations: Euler

– RésolutionN(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.

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

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 < Kf(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 estf(N) = r N (1 – N/K)

où r est une constante.

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

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.

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

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

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

I.1. Dynamique des populations: équilibre stable / instable

• Equation logistique:∂t N = f(N) = r N (1 – N/K)

• Etat d’équilibre: N* tel quef(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

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

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)

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

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)

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

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.

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

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.

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

II.1. Populations en interaction: Lotka Volterra

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

II.1. Populations en interaction: Lotka Volterra

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

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.

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

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

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

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

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

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:

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

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.

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

II.4. Populations en interaction: mutualisme

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

Exemple: épidémies

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

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)

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

Epidémies: SIR

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

Epidémies: SIR

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

Petits systèmes d’EDOs

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

Une EDO

• u un scalaire.

• Comportements possibles– Explosion: réaction autocatalysée

∂t u = u^2Solution en 1/ (T_0 – t)

– Convergence vers un équilibre stable:

∂t u = f(u)

u -> u*

avec f(u*) = 0convergence à vitesse exponentielle généralement

– Solution constante, reste sur un équilibre instable (exceptionnel)

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

Une EDO: un exemple

• Exemple: comportements possibles pour

∂t u = u (1 – u)

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

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 !

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

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*) = 0convergence à vitesse exponentielle généralement

– Solution constante, reste sur un équilibre instable (exceptionnel)

– Convergence vers une solution périodique

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

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

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

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

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

Deux EDO: cas linéaire: classification

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

Deux EDO: cas linéaire: classification

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

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 – bzavec s = 10, r = 28, b = 8/3

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

Trois ODE: Lorenz

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

Trois ODE: Lorenz

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

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 !

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

Simulations numériques

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

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

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

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 initialek = 0.01; % pas de tempsTmax = 5; % temps maximal de calculu = zeros(Tmax/k,1); % vecteur qui va contenir la solutionu(1) = u_0;for J=1:Tmax/k-1, % boucle de calcul

u(J+1) = u(J) + k*2*u(J)*(1-u(J));endplot(u); % affichage de la solution

• Démonstration: programme eulerexplicite.m

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

Schéma d’Euler (explicite)

• Précision: proportionnelle à k

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

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.

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

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

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

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.

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

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 !

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

D’autres modèles

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

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.

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

Equations avec retard: exemple: mouches et moutons

• Moutons australiens et mouches …

• Oscillations avec une période 35 à 40 jours.

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

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.

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

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) ]

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

Equations avec retard: respiration de Cheyne Stoke

• Simulation numérique

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

Equations avec retard: respiration de Cheyne Stoke

• Changement de variables:x = c/a, V* = V/Vmax, α = abVmax/p

T* = pT/a, t* = pt/ace 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éarisationu = 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)ce qui donne

λ = - α V(x*) – α x* V’(x*) exp(-λ T)équation en λ.

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

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

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

Equations avec retard: cellules sanguines

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

Equations avec retard: cellules sanguines