Upload
mireio-pernot
View
118
Download
3
Embed Size (px)
Citation preview
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é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.
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.
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 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
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
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– 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)
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 !
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
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_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.
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 – bzavec 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 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
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/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 λ.
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