Chapitre 4 : R ´esolution d’ ´equations diff ´erentielles ordinaires
Maarten Jansen
´equations diff ´erentielles ordinaires
•Une ´equation diff ´erentielle est une ´equation qui contient une ou plu- sieurs d ´eriv ´ees d’une fonction inconnue.
•Le succ `es des ´equations diff ´erentielles ordinaires dans la science est cons ´equent au fait que la plupart des lois scientifiques sont faci- lement repr ´esentables en termes detaux de changement.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.1
Exemples d’ ´equations diff ´erentielles
•Exemple : soitxun capital qui est investi `a un taux d’int ´er ˆet constant k. Supposons vouloir connaˆıtre l’ ´evolution temporelle du capital en sachant que la croissance du capital a lieu de mani `ere continue.
L’ ´evolution du capitalpeut ˆetre d ´ecrite par une ´equation du type y(t+dt) =y(t) +ky(t)dt⇔y′(t) =ky(t)
Cette mod ´elisation est tr `es simplifi ´e puisque elle se base sur plu- sieurs assomptions : par exemple le taux d’int ´er ˆet est constant dans le temps et ind ´ependant du montant.
•Etant donns le taux de natalit ´eνet le taux de mortalit ´eµ,l’ ´evolution y(t)d’une populationpeut ˆetre model ´ee par :
dy(t)
dt = (ν−µ)·y(t)
Syst `eme masse-ressort
k
x m F
•Masse ponctuelle (m)
•Force de rappel F = −k·x(force ´elastique ; kest la constante de raideur du ressort)
•L’acc ´el ´eration :d2x
dt2 =a=F/m=−(k/m)·x
•La pulsation du syst `eme (pulsation propre, en contraste avec une pulsation ext ´erieure) :ω0=pk/m
•Solution du syst `eme :x(t) =Asin(ω0t) +Bcos(ω0t)
•Les valeurs A et B d ´ependent des conditions initiales (position et vitesse initiales)
Tenant compte du frottement
•Deux forces : 1. Force de rappel 2. Force d’amortissement
•Equation (Newton) :Fr+Fa=mddt2x2 o `uFr=−kx,
La force d’amortissement est model ´ee comme ´etant proportionnelle
`a la vitesse, en pointant vers la direction oppos ´ee `a la direction du mouvementFa=−cdxdt (c ´etant le coefficient d’amortissement)
•Equation diff ´erentielle pourx(t):md2x dt2 +cdx
dt +kx= 0
•Solution sous forme
x(t) =A·e−λdtcos(ωdt) +B·e−λdtsin(ωdt)
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.4
Avec une force ext ´erieure
L’ ´equation devientmd2x dt2 +cdx
dt +kx=Fext(t)
Contrairement au syst `eme sans force ext ´erieure, cette ´equation est non homog `ene
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.5
La solution analytique d’une ´equation diff ´erentielle
Equations homog `enes du premier ordre a1(t)y′(t) +a0(t)y(t) = 0
Solution :S ´eparation des variables y′(t)
y(t) =−a0(t) a1(t) ⇔ d
dtln[y(t)] =−a0(t)
a1(t) ⇔ln[y(t)] =− Z t
t0
a0(u) a1(u)du
⇔ y(t) = exp
− Z t
t0
a0(u) a1(u)du
o `ut0est une constante arbitraire `a remplir par la condition initiale Exemple
dy(t)
dt = (ν−µ)·y(t)⇔y(t) =K·e(ν−µ)t
Equations non homog `enes du premier ordre
Soity(t) =K·y0(t)la solution g ´en ´erale de l’ ´equation homog `enea1(t)y′(t) + a0(t)y(t) = 0
Alors, la solution g ´en ´erale de l’ ´equation non homog `enea1(t)y′(t) +a0(t)y(t) = f(t)
s’exprime sous la formey(t) =K(t)·y0(t) La fonctionK(t)satisfait `a
a1(K′y0+Ky0′) +a0Ky0=f ⇔K′a1y0+K(a1y′0+a0y0) =f ⇔K′a1y0=f ⇔ K(t) =
Z t t0
f(t) a1(t)y0(t)dt
Cette technique de r ´esolution s’appelle laVariation des constantes
Equations lin ´eaires homog `enes `a coefficients constants
En utilisant les notationsDy(t) =y′(t),D2y(t) =y′′(t)etc., une ´eq. diff. d’ordre npeut s’ `ecrire
anDn+an−1Dn−1+. . .+a1D+a0y(t) = 0 La solution g ´en ´erale s’ `ecrit sous la forme
y(t) =A1eα1t+A2eα2t+. . .+Aneαnt
o `uAi sont des constantes arbitraires `a remplir par les conditions initiales et les αi sont toutes les racines simples (r ´eelles et complexes) du polyn ˆome caract ´eristiqueassoci ´e
p(α) =anαn+an−1αn−1+. . .+a1α+a0
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.8
Exemples
y′′(t) +ω20y(t) = 0⇔(D2+ω02)y(t) = 0 Equation caract ´eristique :α2+ω02= 0⇔α=±ω0i Solution (1) :y(t) =a1eiω0t+a2e−iω0t
solution (2) : Toute combinaison lin ´eaire des fonctions imaginaireseiω0tete−iω0t peut s’ ´ecrire comme une combinaison lin ´eaire des fonctions r ´eellessin(ω0t)et cos(ω0t)
y(t) =Asin(ω0t) +Bcos(ω0t)
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.9
Racines doubles, triples, etc.
Eq. diff. :y′′′(t) + 3α1y′′(t) + 3α12y′(t) +α31y(t) = 0 Eq. char. :α3+ 3α2α1+ 3αα12+α31= 0⇔(α+α1)3= 0 Solution :y(t) =A1e−α1t+A2te−α1t+A3t2e−α1t
Exemple(Racines simples) Eq. diff. :y′′′(t) =−y(t)
Eq. char. : α3+ 1 = 0 ⇔ (α+ 1)(α2−α+ 1) = 0⇔(α+ 1)(α2−α+ 1/4 + 3/4) = 0
⇔ (α+ 1)((α−1/2)2+ 3/4) = 0⇔α∈ {−1,−1/2±p3/4i} Solution
y(t) =A1e−t+A2e−t/2cos(√
3t/2) +A3e−t/2sin(√ 3t/2)
Equations lin ´eaires non-homog `enes `a coefficients constants
La variation des constantes est applicable, mais elle nous conduirait `a un syst `eme d’ ´equations diff ´erentielles
Annihilation du second membre
Alternative pour les seconds membres qui, eux-m ˆemes, sont la solution d’une
´equation lin ´eaire homog `ene `a coefficients constants Exemple
y′′(t) + 2y′(t) + 5y(t) = cos(3t)⇔(D2+ 2D+ 5)y(t) = cos(3t) La fonctioncos(3t)est une des solutions de l’ ´equation(D2+ 9)y(t) = 0. (D2+ 2D+ 5)y(t) = cos(3t)⇒(D2+ 9)(D2+ 2D+ 5)y(t) = (D2+ 9) cos(3t) = 0 attention : L’implication n’est valable que dans une direction, donc la nouvelle
´equation a parmi ses solutions des fonctions qui ne sont pas une solution de l ´equation originale.
Equation caract ´eristique :(α2 + 9)(α2+ 2α+ 5) = 0 ⇔ α ∈ {3i,−3i,−1 + 2i,−1−2i}
Forme de la solution (1)
y(t) =ae−te−2it+a e−te2it+b e−3it+b e3it
Forme de la solution (2)
y(t) =A1e−tcos(2t) +A2e−tsin(2t) +B1cos(3t) +B2sin(3t)
Les constantes A1 et A2 sont d ´etermin ´ees par les conditions initiales. Les fonctions associ ´ees sont appell ´ees les ´etats transitoires.
Les constantesB1etB2, par contre, r ´esultent d’une substitution de la forme (2) dans l’ ´equation originale. Elles repr ´esentent la solution stationnaire (ind ´ependente des conditions initiales).
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.12
Exemple : un syst `eme masse-ressort
+ force ext ´erieure p ´eriodique
•Oscillation/pulsation ext ´erieure :ω
•Masse ponctuellem, constante de rappel (de raideur) du ressortk
•Pulsation propre sans frottement :ω0=pk/m
•Constante d’amortissementc
•Equation homog `ene md2x
dt2 +cdx
dt +kx= 0⇔ d2x
dt2 + 2ζω0dx
dt +ω20x= 0 o `uζ=c/2√
kmest letaux d’amortissement
•Equation caract ´eristique :
mα2+cα+k= 0⇔α2+ 2ζω0α+ω20= 0⇔(α+ζω0)2+ (1−ζ2)ω20= 0
•Solution de l’ ´eq.car. :α=ω0(−ζ±pζ2−1)
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.13
L’oscillateur harmonique amorti
•R ´egime purement p ´eriodique Pourζ= 0
•R ´egime ap ´eriodique
Pour ζ > 1, les racines du polyn ˆome caract ´eristique associ ´e sont r ´eelles et n ´egatives :α1,2=ω0(−ζ±pζ2−1)
x(t) =a1eα1t+a2eα2t
Il n’y a pas d’oscillation, l’amortissement est dominant.
•R ´egime ap ´eriodique critique
Pour ζ = 1 : une racine (double), r ´eelle et n ´egative du polyn ˆome caract ´eristique associ ´e
•R ´egime p ´eriodique amorti
Pourζ <1la solution est complexe. La partie imaginaire correspon- dra `a une oscillation.α=−ω0ζ±ωio `uω=ω0p1−ζ2
L’amortissement de l’oscillation comprend donc deux aspects :
— Une d ´ecroissance temporelle (exponentielle) de l’amplitude
— Un ralentissement ( `a peine visible `a l’œil nu et constant, c- `a-d., non temporel) de la pulsationω =ω0p1−ζ2
x(t) =a1e−ζω0t·e−iωt+a2e−ζω0t·eiωt ou bien
x(t) =A1e−ζω0t·cos(ωt) +A2e−ζω0t·sin(ωt)
0 10 20 30 40 50
-1 -0.5 0 0.5 1
t
x(t)
L’oscillateur avec une source ext ´erieure
md2xdt2 +cdx
dt +kx=F(t)⇔ d2x
dt2 + 2ζω0dx
dt +ω20x= 1 mF(t) SoitF(t)/m=A·sin(ωft)(une sinuso¨ıde)
Alors la solution s’ ´ecrit sous la forme
x(t) =A1e−ζω0t·cos(ωt) +A2e−ζω0t·sin(ωt) +B1cos(ωft) +B2sin(ωft)
En posantA1= 0 =A2, on obtient
x(t) = B1cos(ωft) +B2sin(ωft) x′(t) = −B1ωfsin(ωft) +B2ωfcos(ωft) x′′(t) = −B1ωf2cos(ωft)−B2ω2fsin(ωft)
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.16
L’ ´equation devient
h−B1ωf2+ 2ζω0B2ωf +ω20B1icos(ωft)
+h−B2ω2f−2ζω0B1ωf+ω02B2isin(ωft) = A·sin(ωft) L’ ´equation se r ´esout facilement en posant
−B1ω2f+ 2ζω0B2ωf+ω02B1 = 0
−B2ωf2−2ζω0B1ωf+ω20B2 = A
"
ω02−ω2f 2ζω0ωf
−2ζω0ωf ω20−ωf2
# B1 B2
= 0
A
B1 = −A(ω2 2ζω0ωf 0−ω2f)2+4ζ2ω20ω2f
B2 = A ω
2 0−ω2f
(ω20−ω2f)2+4ζ2ω20ω2f
Etant donn ´ees la position et la vitesse initialesx0=x(0)etv0=x′(0), on peut r ´esoudre le syst `eme
x(0) = A1+B1
x′(0) = A2ω−A1ζω0+B2ωf
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.17
Illustration
x(0) =x0= 0 =v0=x′(0)0 10 20 30 40 50
-10 -5 0 5 10
t
x(t)
stationnaire transitoire
0 10 20 30 40 50
-15 -10 -5 0 5 10 15
t
x(t)
Fext(t) x(t)
R ´esonance
L’amplitude de la solution stationnaire est q
B12+B22= A
q(ω02−ω2f)2+ 4ζ2ω20ωf2
Pourω0 = 1, la courbe de l’amplitude en fonction de la pulsation de la force ext ´erieure
0 0.5 1 1.5 2 2.5 3 3.5 4
0 5 10 15 20 25 30 35
ωF
Amplitude
L’amplitude atteint son maximum pourωf =ω0p1 + 2ζ2
Equation diff ´erentielle
•Une ´equation diff ´erentielle est une ´equation qui contient une fonction inconnuey(·), ses d ´eriv ´eesy′, y′′,· · ·, y(n)et des variables ind ´ependantes.
•Forme implicite:F(t, y, y′,· · · , y(n)) = 0
•Forme explicite:y(n)=f(t, y, y′,· · ·, y(n−1))
•Une solutiony(t)de l’ ´equation diff ´erentielle est toute fonction satis- faisant l’ ´equation diff ´erentielle.
•Equation diff ´erentielleordinaire: la fonction inconnuey ne d ´epend que d’une seule variable ind ´ependante.
•Equation aux d ´eriv ´eespartielles: la fonction inconnueyd ´epend de plusieurs variables ind ´ependantes.
•Ordre de l’ ´equation diff ´erentielle : le plus grand ordre des d ´eriv ´ees deyqui apparaissent.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.20
Dans ce chapitre nous nous limiterons `a
•´equations diff ´erentielles ordinaires du premier ordre, c. `a.d. o `u la plus grand d ´eriv ´ee est d’ordre1,
•Probl `emes aux valeurs initiales
— En g ´en ´eral, la solution d’une ´eq.diff. est une classe/famille de fonctions
— Par exemple : Toutes les fonctionsy(t) =Ke−t,K ∈Rsatisfont l’ ´equationy′=−y
—Des conditions aux limites d ´eterminent quelle fonction de la classe sera la solution du probl `eme physique
— Par exemple :y(0) = 1et/ouy(∞) = 0,y′(0) = 2, etc. (d ´ependant du mod `ele physique)
— Si toutes ces conditions aux limites se situent dans un seul point t0, les conditions sont ditesconditions initiales
— Pour les probl `emes aux valeurs initiales il existent des th ´eor `emes d’existence de d’unicit ´e de la solution. Pour les conditions aux limites, ces th ´eor `emes sont plus rares, plus faibles
•´equations diff ´erentielles scalaires, c. `a.d. pas matricielles
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.21
Exemples
•Equation diff ´erentielle ordinaire (EDO), scalaire: Oscillation d’un ressort avec une constante de rappelket une masse ponctuellem
y′′(t) + k
my(t) = 0
•Equation diff ´erentielle partielleEquation de propagation d’une onde dans le vide :
∂2
∂x2y(x, t)− 1 c2
∂2
∂t2y(x, t) = 0
•Equation diff ´erentielle ordinaire (EDO), matricielle : Mod `ele de Lotka-Volterra (voir slide 23)
Mod `ele de Lotka-Volterra
Le mod `ele de Lotka-Volterra d ´ecrit l’interaction entre deux esp `eces animales (par exemple proie-pr ´edateur) dans un ´ecosyst `eme.
(dL/dt =aL−bLR
dR/dt =−cR+dLR o `u
•L(t)etR(t)repr ´esentent la densit ´e de lapins et renards `a l’instantt, respectivement
•aest le taux de croissance des lapins en absence de pr ´edateurs,
•cest le taux de d ´ec `es des renards en absence de nourriture,
•dest le taux de reproduction d’un renard par proie captur ´ee
•best le taux de capture.
Simulation Lotka-Volterra
Sia = 2,b = 0.001,c= 10,d= 0.002, et L(0) = 5000,R(0) = 100, l’ ´evolution est :
0 1 2 3 4 5
0 2000 4000 6000 8000 10000 12000
time
population
Rabbits Foxes
On remarque une variation stable et cyclique de la population.
Scripts LotkaVolterra.m
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.24
Probl `eme aux valeurs initiales
Le probl `eme aux valeurs initiales (aussi appel ´eprobl `eme de Cauchy) consiste
`a trouver la solutiony(t),t ∈ I (I ´etant un ensemble de valeurs temporelles sous consid ´eration) d’une ´equation diff ´erentielle ordinaire (EDO) du premier ordre,
y′(t) =dy
dt =f(t, y(t)) satisfaisant la condition initialey(t0) =y0
o `u f est une fonction donn ´ee `a valeur r ´eelle d ´efinie sur le produit {I×]−
∞,∞[}et continue par rapport aux deux variables.
Sif ne d ´epend pas explicitement det, l’EDO est diteautonome.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.25
La condition de Lipschitz
D ´efinition
La fonctionf(t, y) satisfait lacondition de Lipschitzpar rapport `ay si pour toutt ∈ I et pour touty1, y2 |f(t, y1)−f(t, y2)| ≤L|y1−y2| o `uL > 0est appel ´ee laconstante de Lipschitz.
Th ´eor `eme
Condition suffisante pour que f satisfait la condition de Lipschitz est que pour tout t ∈ I la d ´eriv ´ee de la fonction f par rapport `a y soit continue.
D ´emonstration: Si la d ´eriv ´ee de la fonctionfpar rapport `ayest continue, alors le th ´eor `eme de Lagrange (th. des accroissements finis) nous garantit que
|f(t, y1)−f(t, y2)|= ∂f∂y(t, ξ)
|y1−y2| poury1≤ξ≤y2. Donc, siL= max
∂f∂y
la condition de Lipschitz est satisfaite.
Exemples TP
Montrer que
•la fonction
f(t, y) =t2cos2(y) +tsin2(y)
d ´efinie pour|t|< 1ety ∈ R, satisfait la condition de Lipschitz avec une constanteL= 4.
•la fonction
f(t, y) =|y|
d ´efinie poury ∈R, ne satisfait pas la condition suffisante mais satis- fait la condition de Lipschitz.
Existence et unicit ´e de la solution
Th ´eor `eme (EDO = probl `eme bien pos ´e)
Soit f(t, y) une fonction continue pour toutt ∈ I et pour touty, qui satisfait la condition de Lipschitz. Alors, pour chaque valeur y0, le probl `eme aux valeurs initiales
y′=f(t, y) y(t0) =y0
a une solution uniquey(t) =y(t, y0)∈ C1pour toutt∈I. Conditionnement du probl `eme
En plus ky(t, y1)−y(t, y0)k ≤eL|t−t0||y1−y0|
c.- `a-d. pour un petitLdes petites variations de la condition initiale entraˆınent des petites variations de la solution.
Erreurs de propagation→conditionnement du probl `eme
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.28
Solution analytique et num ´erique
•La solutionanalytiqued’une EDO du premier ordre est y(t) =y0+
Z t t0
f(τ, y(τ))dτ
•On ne sait int ´egrer qu’un tr `es petit nombre d’EDO non lin ´eaires. De plus, quand cela est possible, il n’est pas toujours facile d’exprimer la solution sous forme explicite.
•Pour cette raison nous consid ´erons des m ´ethodes pour la r ´esolution num ´erique.
•Une m ´ethode num ´erique ne retourne pas une fonction y(t) mais un tableau de valeurs by(t) qui approchent la solution y(t) pour un ensemble de valeurs{t0, t1, . . . , tn}choisies `a l’avance.
•L’ensemble des valeurs b
y(t) ={by(t0),by(t1), . . . ,by(tn)} repr ´esente la solution num ´erique du probl `eme.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.29
Un exemple
Consid ´erons le simple exemple de EDO dy
dt =−2t−y poury(0) =−1.
La solution analytique est connue
y(t) =−3e−t−2t+ 2
mais nous utiliserons cet exemple comme r ´ef ´erence pour analyser la pr ´ecision des diff ´erentes solutions num ´eriques.
D ´eveloppement en s ´erie de Taylor
Th ´eor `eme(Taylor)
Si la fonctiong(x)admet une d ´eriv ´ee d’ordrek+1sur l’intervalle ouvert (x0−l, x0+l); il existe pour tout pointxde cet intervalle un pointξde cet intervalle tel que
g(x) = g(x0) +g′(x0)(x−x0) +g′′(x20)(x−x0)2+. . . +k!1g(k)(x0)(x−x0)k+(k+1)!1 g(k+1)(ξ)(x−x0)k+1 En remplac¸antg(x)par
g(x0) +g′(x0)(x−x0) +· · ·+ 1
k!g(k)(x0)(x−x0)k
nous commettons une erreur d’approximation dont la valeur absolue est born ´ee par
|g(k+1)(ξ)||x−x0|k+1 (k+ 1)!
La m ´ethode du d ´eveloppement de Taylor
Nous calculons la relation entreyetten d ´eveloppant la s ´erie de Taylor autour du pointt=t0.
y(t)≈y(t0) +y′(t0)(t−t0) +y′′(t0)
2! (t−t0)2+y′′′(t0)
3! (t−t0)3
En posantt−t0=h, nous obtenons y(t0+h)≈y(t0) +y′(t0)h+y′′(t0)
2! h2+y′′′(t0) 3! h3
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.32
La m ´ethode de Taylor (II)
Dans le cas de notre exempley′=f(t, y) =−2t−y, y(0) =−1, nous avons y(t0) = y(0) =−1
y′(t0) = −2t0−y(t0) =−2(0)−(−1) = 1 y′′(t0) = −2−y′(t0) =−2−1 =−3 y′′′(t0) = −y′′(t0) = 3
et par cons ´equent la solution de Taylor est
y(h) =−1 + 1.0h−1.5h2+ 0.5h3+erreur
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.33
La m ´ethode de Taylor : exemple
Scripts taylor.m
0 0.1 0.2 0.3 0.4 0.5
-1 -0.95 -0.9 -0.85 -0.8
t
y
Analytical Taylor
Consid ´erations sur Taylor
•Le calcul des d ´eriv ´ees n’est pas toujours simple.
•La forme analytique de l’erreur est connue mais elle contient un fac- teur non-pr ´ecis ´e (ξ), donc son calcul n’est pas possible.
•Il est difficile de d ´eterminer le nombre de termes du d ´eveloppement.
•M ´ethode n ´ecessite un ordre ´elev ´e pour de grandes valeurs deh: le th ´eor `eme exprime un r ´esultatautour de l’origine, la qualit ´e de l’ap- proximation ( ´etant donn’e le nombre de degr ´es de libert ´e) est donc optimis ´ee dans l’origine.
•M ´ethodesit ´erativessont utilis ´ees en pratique, par exemple la m ´ethode de Euler (voir le slide suivant)
La m ´ethode de Euler
Puisque l’erreur du d ´eveloppement de Taylor est petite si la quantit ´e hest petite, la m ´ethode d’Euler propose de :
•d ´ecomposer l’intervalle d’int ´egration I =]t0, t0 + T[ en Nh sous- intervalles In = [tn, tn+1], o `u tn = t0+nh, n = 0, . . . , Nh et h > 0 est dit lepas de discr ´etisation
•d ´evelopper une m ´ethodeit ´erative o `u `a chaque ´etape l’approxima- tiony(tb n+1) de la vraie solutiony(tn+1) est calcul ´ee sur la base des 2premiers termes du d ´eveloppement de Taylorlimit ´e `a l’ordre1 autour dey(tb n)
•y(tb n+1) =y(tb n) +h·yb′(tn)(Taylor) avecyb′(tn) =f(tn,by(tn))
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.36
La m ´ethode de Euler progressive
Lan-i `eme ´etape de la m ´ethode de Euler progressive (aussi explicite) est b
y(tn+1) =y(tb n) +hf(tn,by(tn)) o `uy(tb 0) =y(t0).
En termes g ´eom ´etriques, la pente de la solution au d ´ebut de l’intervalleIn = [tn, tn+1]est utilis ´ee pour calculer l’incr ´ement de la solution.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.37
0
y(t )
t
y(t) y(t )
0
t
1t
21 1
y
La m ´ethode de Euler : exemple
Scripts euler.m
0 0.1 0.2 0.3 0.4 0.5
-1 -0.95 -0.9 -0.85 -0.8 -0.75
t
y
Analytical Euler h=0.05 Euler h=0.1
Analyse de la m ´ethode de Euler
L’analyse d’une m ´ethode num ´erique de r ´esolution d’une ´equation diff ´erentielle concerne quatre propri ´et ´es :
1. Consistance.
2. Z ´ero-stabilit ´e.
3. Convergence.
4. Stabilit ´e absolue.
On introduira et discutera les quatre notions dans le cas de la m ´ethode de Euler.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.40
La consistance et l’erreur d’approximation
•La r ´esolution num ´erique d’une EDO comprend une approximation (←→la r ´esolution d’un syst `eme lin ´eaire)
•Erreur d’approximation = erreur de de troncature
— SoitF(~x, ~d) = 0la formulation implicite d’un probl `eme dont~xest une solution pour les valeursd~des donn ´ees
— Soit Fm(~x(m), ~d(m)) un algorithme qui a pour entr ´ees le vecteur d~(m)et pour r ´esultat le vecteur~x(m).
— L’indicemrepr ´esente la complexit ´e de l’algorithme (notion `a concr ´etiser, voir p.42)
— Alors em = k~x(m) −~xk est la forme g ´en ´erale d’une erreur de troncature
• Erreurs de troncature→consistance de la m ´ethode
•D ´efinition(Chap.1)
Fm(~x(m), ~d(m))estconsistantsi lim
m→∞Fm(~x, ~d(m)) =F(~x, ~d) = 0, c.- `a-d., si la solution exacte~xdu probl `eme est parmi les solutions de l’algorithmeFm(~x(m), ~d(m)) = 0pourm→ ∞
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.41
Concr `etement : le probl `eme et l’algorithme pour les EDOs
•Le probl `eme :F(~x, ~d)devient :y′(t) =f(t, y(t) o `u lafonctiony(t)prend la position de~xetd=y(t0)
•L’algorithme `a un pas:Fm(~x(m), ~d(m))prend la forme b
y(t+h) =y(t) +b hΦ(t,by(t), t+h,by(t+h)) o `uhest lepas
et la fonction Φ(t,y(t), tb +h,by(t+h)) est une approximation de la pente
M ´ethode d’Euler : Φ(t,by(t), t+h,y(tb +h)) =f(t,y(t))b
•L’approximationby(t)d ´epend deh:
hcontr ˆole la sophistication (m) ;m→ ∞devienth→0
D ´evelopment de la notion de consistance
•L’algorithme s’ ´ecrit sous la formeby(t+h) =y(t)+hΦ(t,b by(t), t+h,y(t+b h))
Par cons ´equent, on a toujours : lim
h→0y(tb +h) =y(t)b
Ceci n’est donc pas l’expression de consistance pourh→0
•SoitΦcontinue, alors
h→0lim b
y(t+h)−by(t)
h = lim
h→0Φ(t,y(t), tb +h,y(tb +h))
= Φ
t,y(t),b lim
h→0t+h,lim
h→0y(tb +h)
= Φ(t,y(t), t,b y(t))b
•En particulier, soitby∗(t+h)le r ´esultat du pas en partant dey(t), alors on a lim
h→0
b
y∗(t+h)−y(t)
h = Φ(t, y(t), t, y(t))
•Pour que la m ´ethode soit consistante, nous imposons que la vraie solution du probl `eme v ´erifie la m ˆeme expression :
h→0lim
y(t+h)−y(t)
h = Φ(t, y(t), t, y(t))c’est- `a-dire : Φ(t, y(t), t, y(t)) =y′(t)
La consistance et la troncature
De la page pr ´ec ´edente, on d ´eduit que
h→0lim
y(t+h)−y(t)
h = Φ(t, y(t), t, y(t)) = lim
h→0
b
y∗(t+h)−y(t) h d’o `u vient la condition de consistance : lim
h→0
y(t+h)−yb∗(t+h)
h = 0
Ceci donne lieu `a la d ´efinition suivante de l’erreur de troncature : Soit εn+1(h) =y(tn+1)−by∗(tn+1)
La quantit ´e τn+1(h) =εn+1(h)
h est diteerreur de troncature locale. (locale, parce qu’elle d ´epend detn+1)
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.44
Erreur globale et locale
Erreurs de troncature→consistance de la m ´ethode
On note en+1=y(tn+1)−y(tb n+1) l’erreur globale au noeud tn+1 pour les
´etapesn= 0,1, . . ..
On a en+1=y(tn+1)−yb∗(tn+1) +yb∗(tn+1)−y(tb n+1)
o `uyb∗(tn+1) est la solution obtenue apr `es un pas de la m ´ethode d’Euler en partant de la donn ´ee initiale exactey(tn). (voir slide 43)
En identifiant εn+1(h) =y(tn+1)−by∗(tn+1) on avait introduit l’erreur de troncature locale: τn+1(h) =εn+1(h)
h
Erreur globale = pas × erreur de troncature locale + erreurs de troncature accumul ´ees
(Toujours en arithm ´etique exacte)
RemarqueD ´efinition de l’erreur de troncature comprend une division parh, parce quelimh→0εn+1(h)→0dans tous les cas (voir slide 43)
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.45
Erreur globale et locale
y(t)
n
y( ) t
ny( ) t
n+1t
n+1y( ) t
ny ( )
*t
n+1y ( ) t
n+1e
n+1ε
n+1t
D ´efinition de consistance
Soit τ(h) = max
0≤n≤Nh−1|τn+1(h)| l’erreur de troncature globale.
D ´efinition[Consistance]
Une m ´ethode num ´erique de r ´esolution des ´equations diff ´erentielles or- dinaires est diteconsistante si son erreur de troncature globale est un infiniment petit enh, ouO(h), c. `a.d.
h→0limτ(h) = 0
D ´efinition[Consistance d’ordrep]
Une m ´ethode num ´erique est diteconsistante d’ordreppour unpentier positif, si∀t∈I, la relation
τ(h) =O(hp) pourh→0 est satisfaite.
Ordre de convergence
0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1
h h2
h3 h4
h5
-5 -4 -3 -2 -1 0
-25 -20 -15 -10 -5 0
h h2
h3 h4 h5
La convergence est d’autant plus rapide que l’ordrepest grand.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.48
D ´emonstration de consistance m ´ethode de Euler
Puisque pour la m ´ethode de Euler progressive b
y∗(tn+1) =y(tn) +hf(tn, y(tn))
tandis que la solution exacte apr `esn+ 1´etapes s’ ´ecrit comme : y(tn+1) =y(tn) +hf(tn, y(tn)) +y′′(ξ)h2/2
pourξ∈[tn, tn+1],
l’erreur de troncature locale de la m ´ethode de Euler progressive est τn+1=y(tn+1)−by∗(tn+1)
h =y′′(ξ)h/2
c. `a.d. la m ´ethode de Euler progressive estconsistante et d’ordre1: τ(h) =O(h)
Ceci implique , si la d ´eriv ´ee def est continue et born ´ee,
h→0limτ(h) = 0
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.49
Z ´ero-stabilit ´e
Erreurs de g ´en ´eration→stabilit ´e de la m ´ethode
•Une m ´ethode num ´erique est z ´ero-stable si elle est peu sensible `a des petites perturbations qui se manifestent au cours des calculs.
•On demande la stabilit ´e d’une m ´ethode num ´erique pour contr ˆoler les in ´evitables erreurs introduites par l’arithm ´etique finie des ordinateurs.
•Deux types
1. On l’appelle z ´ero-stabilit ´e parce que cette propri ´et ´e concerne le comportement de la m ´ethode num ´erique dans le cas limite h→0,
2. `a la diff ´erence de lastabilit ´e absoluequi concerne le compor- tement pourtn→ ∞. (notion `a introduire plus tard)
Z ´ero-stabilit ´e d’une m ´ethode progressive `a un pas
Consid ´erons les deux solutionsyˆ1etyˆ2telles que (by1(tn+1) =yb1(tn) +hΦ(tn,by1(tn))
by1(t0) =y0 et
(yb2(tn+1) =by2(tn) +h[Φ(tn,by2(tn)) +δ(tn+1)]
yb2(t0) =y0+δ(t0)
Donc,by2(tn+1)−yb1(tn+1) =by2(tn)−by1(tn)+h[Φ(tn,yb2(tn))−Φ(tn,by1(tn)) +δ(tn+1)]
D ´efinition formelle de z ´ero-stabilit ´e
Une m ´ethode `a un pas est ditez ´ero-stables’il existe une constanteC >0, telle que pour toute valeur deǫ, on trouve
∃h0>0,∀h < h0:δ(tk)≤ǫ,∀k= 1, . . . , Nh⇒ |yˆ1(t)−yˆ2(t)|< Cǫ.
Z ´ero-stabilit ´e des m ´ethodes `a un pas
Th ´eor `eme
Consid ´erons une m ´ethode g ´en ´erique explicite et `a un pas b
y(tn+1) =y(tb n) +hΦ(tn,by(tn))
si la fonction d’incr ´ement Φ est lipschitzienne par rapport `a sa se- conde variable, avec une constante de Lipschitz ind ´ependante de h et des noeudstj ∈[t0, t0+T]alors la m ´ethode est z ´ero-stable.
Par cons ´equent, la m ´ethode d’Euler est z ´ero-stable pour unef lipschitzienne.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.52
Convergence
La notion deconsistanced ´ecrit la qualit ´e intrins `eque de la m ´ethode num ´erique en approcheant la solution exacte
La notion dez ´ero-stabilit ´een mesure la susceptibilit ´e aux erreurs num ´eriques.
Les deux sont n ´ecessaires pour un r ´esultat convergent.
D ´efinition[Convergence]
Une m ´ethode est diteconvergentesi (pour l’erreur globale)
∀n= 0,1, . . . , Nh:
en(h) =|y(tn)−by(tn)| ≤E(h)o `uE(h)est un infiniment petit enh.
Si ∃F > 0 tel que E(h) =F hp la m ´ethode est dite convergente avec un ordrep.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.53
Visualisation de la convergence
•Trac¸ons un graphe de l’erreur e(h) = en(h)(h) en fonction de h en
´echelle logarithmique, o `un(h) =T /h.
-4.5 -4 -3.5 -3 -2.5
-6 -5 -4 -3 -2 -1
log(h)
log(e)
global errors log(h)
•Ceci signifie que le graphe porte en abscisse les valeurs delog(h)et en ordonn ´ees les valeurs delog(e).
•Sie≈F hpalors log(e) = log(F) +plog(h)
Estimation de la convergence
L’estimation propos ´ee dans le syllabus (p.85, en bas : “une m ´ethode alterna- tive...”) est mal pos ´ee : une petite erreur suivie d’une grande erreur (tous les deux ´etant des r ´ealisations d’une coincidence des ´ev ´enements) engendre un terme aberrant dans le calcul de la moyenne
pb= logeei
i−1
loghhi
i−1
= log(ei)−log(ei−1)
log(hi)−log(hi−1) i= 2, . . . , H
Mieux vaut adopter une estimation aux moindres carr ´es (voir chapitre 6 ; droite de r ´egression lin ´eaire)
En posant
log(h) = H1 PHi=1log(hi) xi = log(hi)−log(h) yi = log(ei)
on retrouvepbLS= XH
i=1
xiyi XH
i=1
x2i
Th ´eor `eme fondamental de l’analyse num ´erique
Lax-Richtmyer Convergence = consistance + z ´ero-stabilit ´e
Le th ´eor `eme ne consid `ere que l’arithm ´etique exacte, il traite l’impacte des erreurs de troncation (d’approximation)
D ´emonstration (pour une m ´ethode explicite `a un pas)
Posonsy(tb n+1) = y(tb n) +hΦ(tn,y(tb n))et by∗(tn+1) = y(tn) +hΦ(tn, y(tn))(=la solution obtenue apr `es un pas depuis une entr ´ee exactey(tn), cfr. p.45) Alors
b
y(tn+1)−y(tn+1) = y(tb n)−y(tn+1) +hΦ(tn,y(tb n))
= y(tb n)−y(tn+1) +h[Φ(tn,by(tn))−Φ(tn, y(tn))] + [yb∗(tn+1)−y(tn)]
= y(tb n)−y(tn) +h[Φ(tn,y(tb n))−Φ(tn, y(tn))] + hhyb∗(tn+1)−y(th n+1)i
= y(tb n)−y(tn) +h[Φ(tn,y(tb n))−Φ(tn, y(tn)) +τn+1(h)]
puisqueτn+1(h) =εn+1(h)
h =y(tn+1)−by∗(tn+1)
h (voir p.45)
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.56
Suite de la d ´emonstration du Th ´eor `eme
Interpr ´etation :La diff ´erencey(tb n+1)−y(tn+1) entre la solution th ´eorique et la solution num ´erique se manifeste donc comme si c’ ´etait la diff ´erence entre deux r ´esultats num ´eriques o `u l’un des r ´esultats sort des calculs avec arrondis.
En r ´ealit ´e, l’un des r ´esultats est purement th ´eorique, l’autre est num ´erique en arithm ´etique exacte.
Suite de la d ´emonstration
Par la d ´efinition dez ´ero-stabilit ´e(voir p.51), nous voyons que
|y(tb n)−y(tn)| ≤Cmax
n |τn+1(h)|=C·τ(h), o `uτ(h)est l’erreur de troncature globale (voir p.47)
Pour une m ´ethodeconsistante, nous avonsτ(h)→0.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.57
La convergence de la m ´ethode d’Euler ; arithm ´etique exacte
Lax-Richtmyer pour la m ´ethode d’Euler:
(1) Consistance de la m ´ethode d’Euler(voir p.49)τ(h) =O(h) (2) Stabilit ´e: si la fonction d’incr ´ement estlipschitzienne,
|y(tb n)−y(tn)| ≤Cmax
n |τn+1(h)|=C·τ(h),
⇒ Corollaire :la m ´ethode d’Euler, qui a pour fonction d’incr ´ementΦ(t, y) = f(t, y), la condition revient `a la condition Lipschitz de la fonction f(t, y) (la m ˆeme condition s’applique pour l’existence et l’unicit ´e de la solution du probl `eme, voir slide 28)
Conclusion
Si le probl `eme aux valeurs initiales de la page 28 est bien pos ´e, la m ´ethode d’Euler explicite, bien en utilisant l’arithm ´etique exacte, sera convergente si le pashtend vers z ´ero.
Donc, l’erreur globale tend vers z ´ero avec le taux |y(tb n)−y(tn)| ≤Kh Donc, faut-il toujours prendre le plus petith?
Erreur d’arrondi et m ´ethode d’Euler
La d ´emonstration de la convergence de la m ´ethode d’Euler fait l’hypoth `ese que tous les calculs sont en arithm ´etique exacte.
En r ´ealit ´e, pour chaque ´etape de la m ´ethode d’Euler b
y(tn+1)−y(tn+1) = y(tb n)−y(tn) +h[f(tn,y(tb n))−f(tn, y(tn)) +τn+1+ǫn] +eǫn
= y(tb n)−y(tn) +h[f(tn,y(tb n))−f(tn, y(tn)) +τn+1+ǫn+eǫn/h]
En supposantǫn ≤ǫ eteǫn ≤eǫ, et en sachant queτn+1 ≤ Khpour toutnet h≤h0, et toujours en se basant sur la z ´eros-tabilit ´e de la m ´ethode, on obtient que
|y(tn)−y(tb n)| ≤C K
Ch+ǫ+ eǫ h
Les erreurs d’arrondi sont d’autant plus importantes que le pas de discr ´etisation est petit : voir le termeeǫ/h
Arrondi et Euler : exemple
La pr ´esence d’erreurs d’arrondi ne permet pas de conclure que l’erreur tend vers z ´ero quandh→0.
Il existe une valeuroptimale (non nulle)hoptdehqui minimise l’erreur : pour h < hopt, l’erreur d’arrondi domine l’erreur de troncature et l’erreur globale augmente.
Scripts euler arr.m: nous consid ´erons un pas de discr ´etisation d ´ecroissant, deh= 0.1 `ah= 0.005pour une baseb= 10et2chiffres significatifs.
On remarque une am ´elioration suivie d’une d ´egradation de la solution.
En g ´en ´eral, ni l’am ´elioration, ni la d ´egradation sont monotones.
0 0.1 0.2 0.3 0.4 0.5
-1 -0.95 -0.9 -0.85 -0.8 -0.75
t
y(t)
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.60
Stabilit ´e absolue
Jusqu’ici nous avons consid ´er ´e un intervalle d’int ´egrationIfix ´e et born ´e sup ´erieurement.
La notion dez ´ero stabilit ´econcerne la stabilit ´e pourh→0(en m ˆeme temps, on peut avoirn→ ∞)
La notion destabilit ´e absolueconcerne les propri ´et ´es de la m ´ethode num ´erique pourtn→ ∞(donc, pas justen→ ∞)
L’analyse de stabilit ´e absolue sera faite pour un probl `eme de Cauchy lin ´eaire (aussi appel ´e probl `eme test)
(y′(t) =λy(t) y(0) = 1
pourλ∈R,λ <0, o `u la solution analytique est y(t) =eλt etlimt→∞|y(t)|= 0.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.61
M ´ethode absolument stable
D ´efinition
Une m ´ethode num ´erique pour l’approximation du probl `eme test estabso- lument stablesi
tnlim→∞|by(tn)|= 0
D ´efinition[R ´egion de stabilit ´e absolue]
La r ´egion de stabilit ´e absolue de la m ´ethode num ´erique pour l’approximation du probl `eme testy′=λyest le sous-ensemble
A={z=hλ∈R: lim
tn→∞|by(tn)|= 0}
Stabilit ´e absolue et Euler progressive
La m ´ethode d’Euler progressive (qui est z ´ero-stable ; voir slide 58) appliqu ´ee au probl `eme test (f(t, y) =λy) donne le sch ´ema it ´eratif
b
y(tn+1) =y(tb n) +hf(tn,y(tb n)) =by(tn) +hλy(tb n) = (1 +hλ)by(tn) avecy(t0) =by(t0) = 1.
En proc ´edant par r ´ecurrence surnon ay(tb n) = (1 +hλ)n
Alors la m ´ethode estabsolument stablesi et seulement si|1 +hλ|< 1, ce qui revient `a
0< h <−2
λ o `u λ <0
(La conditionλ <0faisant partie du probl `eme)
Autrement, la m ´ethode d’Euler progressive estinstable.
Stabilit ´e abs. et Euler progressive
Consid ´erons la m ´ethode d’Euler progressive appliqu ´ee au probl `eme de Cau- chyy′(t) =−5y(t),y(0) = 1, pourh= 0.31eth= 0.41.
0 1 2 3 4 5
-2 -1 0 1 2
h=0.05, h*λ=-0.25
time -20 1 2 3 4 5
-1 0 1 2
h=0.31, h*λ=-1.55
time -20 1 2 3 4 5
-1 0 1 2
h=0.41, h*λ=-2.05
time
Scripts eul stababs.m.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.64
M ´ethodes `a un pas et explicites
La m ´ethode d’Euler progressive est une m ´ethode`a un pasetexplicite.
D ´efinition
Une m ´ethode num ´erique pour la r ´esolution d’une EDO est dite `aun passi
∀n≥0,ybn+1ne d ´epend que deybn. Autrement le sch ´ema est une m ´ethode multi-pas(o `u `a pas multiples).
D ´efinition
Une m ´ethode num ´erique pour la r ´esolution d’une EDO est dite expli- citesi la valeurybn+1 peut ˆetre calcul ´ee directement `a l’aide des valeurs pr ´ec ´edentesybk,k≤n(ou une partie d’entre elles). Une m ´ethode est dite implicitesiybn+1n’est d ´efinie que par une relation implicite faisant interve- nir la fonctionf.
M. Jansen, G. Bontempi INFO-F-205 Calcul Num ´erique — Chap. 4: Eq. Diff. p.65
Autres m ´ethodes `a un pas
•M ´ethode d’Euler r ´etrograde y(tb n+1) =by(tn) +hf(tn+1,y(tb n+1)) Cette m ´ethode estimplicite, d’ordre1et demande la r ´esolution d’une
´equation non lin ´eaire. En retour, la m ´ethode estabsolument stable pour touth
b
y(tn+1) =y(tb n) +hf(tn,by(tn+1)) =y(tb n) +hλy(tb n+1)⇔ y(tb n+1) =1−hλ1 y(tb n)⇔y(tb n+1) =(1−hλ)1 n
•M ´ethode d’Euler modifi ´ee o `u du trap `eze y(tb n+1) =by(tn) +h
2[f(tn,y(tb n)) +f(tn+1,y(tb n+1))]
Cette m ´ethode estimpliciteet d’ordre2. Elle est aussiabsolument stable pour touth.
L’origine des noms des m ´ethodes
Les noms des m ´ethodes d’Euler viennent du d ´evelopment num ´erique de l’ex- pression suivante
y(tn+1) =y(tn) + Z tn+1
tn
y′(u)du=y(tn) + Z tn+1
tn
f(u, y(u))du.
En approchant l’int ´egrale par une expression de la forme largeur×hauteur repr ´esentative:
Z tn+1
tn
f(u, y(u))du≈(tn+1−tn)·Φ(tn,by(tn), tn+1,y(tb n+1)), nous arrivons `a la m ´ethode num ´erique
b
y(tn+1) =y(tb n) +hΦ(tn,by(tn), tn+1,y(tb n+1)),
dans laquelle nous mettons les chapeaux pour souligner que la solution de la m ´ethode num ´erique est une approximation du probl `eme original.
En prenantΦ(tn,by(tn), tn+1,y(tb n+1)) =f(tn,y(tb n)),
l’int ´egrale est approch ´e par l’aire du rectangle de hauteurf(tn,y(tb n)) En prenantΦ(tn,by(tn), tn+1,y(tb n+1)) = [f(tn,y(tb n)) +f(tn+1,y(tb n+1))]/2, l’int ´egrale est approch ´e par l’aire d’un trap `eze.