Méthodes numériques : Problèmes de Cauchy
Méthodes numériques : Problèmes de Cauchy
Méthodes numériques
1 Position du problème
Dans cette définition, la fonction y est définie sur R. Si on considère y comme une
fonction définie sur R m avec m fonctions composantes y1 , y2 ,... ym , alors les
méthodes que nous allons décrire permettent de traiter le cas des systèmes
différentiels du premier ordre, et donc également celui des équations différentielles
d’ordre plus élevé.
b g
Supposons que l'on connaisse le point t n , yn . On cherche une valeur approchée
yn+1 de la fonction y au point d'abscisse t n+1 . L'idée est de remplacer la courbe de y
b
par sa tangente au point t n , yn g et de calculer yn+1 grâce à l'équation de cette
tangente.
y(tn+1)
yn+1 en
yn
t
O tn tn+1
Comme y satisfait à l'équation différentielle y ′ = f t , y t c b gh la pente de la tangente est
bg b g
y ′ t n = f t n , yn et son équation est :
b
gb g
Y − yn = f t n , yn T − t n
ce qui conduit à poser
RS y = y + h f bt , y g
n +1 n n n n
Tt = t + h
n +1 n n
bg b g
Si on intègre l'équation différentielle E : y ′ = f t , y entre tn et tn+1 on a :
n +1 n
tn
Si on approche cette intégrale par l'aire du rectangle de largeur hn et de hauteur
b g
f t n , yn on obtient la formule de la méthode d’Euler. Cette méthode d'intégration
numérique est dite " méthode des rectangles à gauche ".
;;;;;;
yn+2
;;;;;;;;
yn+1
yn
;
t
tn hn tn+1 tn+2
SD04E01A
y′ (t ) = −10 y (t )
On considère l’équation différentielle .
y ( 0 ) = 1
1
1) Ecrire la méthode d’Euler avec h = et calculer les 5 premiers termes.
4
2) Déterminer la solution exacte de l’équation et comparer à la solution obtenue
avec la méthode.
3) Quelle valeur faut-il donner à h pour que yn ∈ [0,1] ?
bg b g
Supposons que y t n = yn . Alors l'erreur commise en t n+1 vaut y t n +1 − yn +1 = en . On
l'appelle erreur de consistance ( ou erreur de discrétisation ) à l'étape n.
= y bt + h g − y b t g − h y ′ bt g
n n n n n
1 2
la formule de Taylor : il existe cn ∈ t n , t n +1 tel que en = hn y′′ ( cn ) .
2
Supposons que f soit de classe C1 sur a , b : alors y ′′ est bornée sur a , b et l'erreur
de consistance est en hn 2 .
On dit que la méthode d'Euler est d'ordre 1 : plus généralement
b g
Une méthode est d'ordre p p ∈ N si l'erreur de consistance est en hn
p+1
quand la
p
fonction f est de classe C .
Plus l'ordre de la méthode est élevé, plus l'erreur de consistance diminue lorsque hn
diminue : la méthode d'Euler, qui a l'avantage d'être simple, n'est pas très
performante.
Exemple : considérons l'équation différentielle
R|
y′ = y
S| yb0g = 1
Tt ∈ 0,1
dont la solution exacte est connue : c'est ybt g = e . t
= b1 + 0.001g
1000 F 1 IJ
= G1 +
1000
Donc y1000
H 1000K = 2.71692393224
Alors que la solution exacte est e = 2.71828182846 : l'erreur est donc bien en 10−3 .
b g
Soit en = y t n +1 − yn +1 l'erreur de consistance à l'étape n. On note h le maximum des
hn quand n = 0,1,2... N . On dit que la méthode est consistante si pour toute solution
b g
Une méthode à un pas yn +1 = yn + Φ t n , yn , hn est consistante si et seulement si :
∀t ∈ a , b , ∀y ∈ R, f ct , ybt gh − Φct , ybt g,0h = 0 .
2.4 Stabilité
b g
la méthode yn +1 = yn + Φ t n , yn , hn est stable si pour toutes suites :
• b
y0 , y1 ,... y N solution de yn +1 = yn + hn Φ t n , yn , hn g
b g
• z0 , z1 ,... z N solution de zn +1 = zn + hn Φ t n , zn , hn + ε n
il existe deux constantes M1 , M 2 telles que :
max yn − zn ≤ M1 y0 − z0 + M 2 max ε n pour 0 ≤ n ≤ N .
Autrement dit, quel que soit le pas hn , une petite perturbation sur la valeur initiale
y0 et des petites erreurs sur yn n'entraînent qu'une petite perturbation sur la solution.
Si la fonction f est lipschitzienne par rapport à la 2ème variable, alors la méthode est
stable.
b g b g
Pour la méthode d'Euler Φ t , y , h = f t , y donc la méthode est stable si la fonction
f est lipschitzienne par rapport à la 2ème variable.
2.5 Convergence
b g
La méthode yn +1 = yn + Φ t n , yn , hn est convergente si :
bg
y0 = y t 0 et lim max yn − y t n = 0
h→ 0
bg
avec h = max hn ,0 ≤ n ≤ N .
Cela signifie que lorsqu'on prend un pas de plus en plus petit, les valeurs obtenues
sont de plus en plus proches de la solution exacte. La quantité
bg
max yn − y t n s'appelle erreur globale.
Si une méthode à un pas est consistante et stable, alors elle est convergente.
bg
Comme la méthode est stable on a : max yn − y t n ≤ M1 y0 − y t 0 + M 2 bg ∑e
0≤ n ≤ N
n
y′ (t ) = y (t )
2
Soit à résoudre
y ( 0 ) = 1
L’équation est à variables séparables :
dy 1
2
= dt ⇔ − = t + k , k ∈ R
y y
1
⇔ y=−
t+k
Comme y ( 0 ) = 1 on a k = −1 .
1
La solution est y = .
1− t
Si nous la résolvons par la méthode d’Euler :
yn +1 = yn + hn yn 2
y0 = 1
t = t + h
n +1 n n
alors il faudrait être sûr que la solution approchée va « voir » l’asymptote d ‘équation
t = 1.
1
On peut montrer par récurrence que yn ≤ : en effet si c’est vrai au rang n, alors
1 − tn
1 hn 1
yn+1 = + et démontrer que yn +1 ≤ revient à montrer que
1 − tn (1 − tn )2 1 − (tn + hn )
1 − tn + hn 1
≤ ⇔ (1 − tn ) − hn ≤ (1 − tn ) ce qui est vrai.
2 2 2
(1 − tn ) 1 − tn − hn
2
Donc la solution approchée est toujours inférieure à la solution exacte et pourra être
calculée pour tn ≥ 1 .
Il est donc nécessaire dans ce cas d’avoir un contrôle de hn et de le faire diminuer le
pas. Plus la pente de la courbe devient forte, plus la variation des valeurs de y est
importante et plus il faut choisir un pas petit ; au contraire, si la courbe de la fonction
devient « plate » on pourra choisir un pas plus grand.
f(xk+1)
Cf
O xk-1 xk xk+1
On a alors :
yn +1 = yn + hn f (tn +1 , yn+1 )
y0 = y ( o )
Cette formule ne fournit pas yn +1 directement : il faut résoudre une équation pour le
déterminer. Le prix à payer est compensé par le fait qu’on n’a, cette fois, aucune
condition de stabilité sur h à satisfaire.
SD04E02A
Reprendre l’exercice SD04E01A avec la méthode d’Euler implicite :
y′ (t ) = −10 y (t ) 1
et h = .
y ( 0 ) = 1 4
3.1 Introduction
Comme nous l'avions remarqué en étudiant la méthode d'Euler, on peut calculer une
valeur approchée de cette intégrale par une méthode d'intégration numérique : on
obtient une formule du type :
k
e d ij
I ni ≅ hn ∑ aij f tnj , y t nj , aij ∈ 0,1
j =1
k
et on peut approcher cette intégrale par : I n ≅ hn ∑ b j f tnj , y tnj ,b j ∈ 0,1
j =1
e d ij
Par exemple, si la méthode choisie est celle des trapèzes cela signifie que l'on
découpe l'aire en portions dont chacune est assimilée à un trapèze :
y
;;;;;
;
yn+1
;
;
;
yn
t
tn=tn1 tn tn tn4 tn5=tn+1
2 3
R| y k
= yn + hn ∑ aij f t nj , ynj d i
|| ni
j =1
|S y k
n +1 = yn + hn ∑ b j f tnj , ynj d i
|| j =1
||t
ni = tn + ci hn
T
3.2 Les méthodes d'ordre 2
Pour yn+1 :
FG b
kn 2 = hn f tn , yn + αhn g ∂f
b g
tn , yn + βhn f tn , yn
∂f
b g b
t n , yn + o t n , yn g db g iIJK
H ∂t ∂y
on en déduit
FG b
yn +1 = yn + hn b1 + b2 f tn , yn + hnb2 α gb g FG ∂f
b g b ∂f
g b
tn , yn + βf tn , yn g db g iIJK IJK
H H ∂t ∂t
tn , yn + o t n , yn
b g
Pour y tn+1 :
y b t g = y bt + h g
n +1 n n
b g c b gh b g c b gh b g
Or y' t = f t , y t : on en déduit d'une part que y' t n = f tn , y tn = f tn , yn et
∂f ∂f
d'autre part que y" bt g = c t , ybt gh + y' bt g ct , ybt gh , ce qui en remplaçant par t = t n
∂t ∂y
∂f ∂f
fournit y" bt g = b t , y g + f bt , y g bt , y g .
n n n n n n
∂t ∂y
Finalement
∂f ∂f
b g b 1
y tn +1 = yn + hn f t n , yn + hn 2
2 ∂t
g 1
t n , yn + hn 2 f tn , yn
2 ∂y
b g
t n , yn + ο hn 2b g b g e j
On a alors :
b gb
en = hn f tn , yn 1 − b1 − b2 + hn 2 g ∂f
∂t
b
t n , yn
1
2
gFGH
− αb2 + hn 2 f tn , yn
IJ
∂f
K
∂y
b g b
t n , yn gFGH 21 − βb IJK + οeh j
2 n
2
Pour que la méthode soit d'ordre 2, il faut et il suffit que les termes en hn et en hn 2
soient nuls : ainsi en = ο hn 2 .e j
R|b + b = 1
|| 1
1 2
S|αb = 2
2
||βb = 1
T 2 2
1
Choisissonsb1 = b2 = : nécessairement α = β = 1 et la méthode s'écrit :
2
R| y n +1
1
= yn + b
kn1 + k n2 g
|Sk 2
b g
n1 = hn f tn , yn
||k = h f bt + h , y + kn1 g
T
n2 n n n n
R| y 1
= yn + b
kn1 + 2 kn 2 + 2 kn 3 + kn 4 g
||k n +1
6
|| b g
n1 = hn f t n , yn
S|k F h k IJ
= h f Gt + ,y +
H 2 2 K
n n1
n2 n n n
||k F h k IJ
= h f Gt + ,y +
H 2 2 K
n n2
||n3 n n n
Tk
n4 = h f bt , y + k g
n n +1 n n3
méthode de Runge-Kutta d’ordre 4 ( RK 4)
1 2 2 1
On remarquera que les coefficients , , , sont ceux de la méthode d'intégration
6 6 6 6
numérique de Simpson.
Cette méthode est d'ordre 4.
On démontre, sous des hypothèses de régularité sur f , que les méthodes de Runge-
Kutta sont stables. Comme elles sont consistantes, elles sont convergentes.
SD04E03A
Reprendre l’exercice SD04E01A avec la méthode de Runge-Kutta d’ordre 2.
y′ (t ) = −10 y (t )
y ( 0 ) = 1
1) Ecrire yn +1 en fonction de yn et de h.
2) Déterminer la solution exacte.
3) Comparer à la solution obtenue par la méthode pour h = 0.1, h = 0.01, h = 0.001 .
SD04S01
On considère l’équation différentielle :
y′ (t ) = 2 y (t ) + 1
y ( 0 ) = 0
1) Ecrire la méthode d’Euler explicite avec un pas h.
2) Déterminer la solution exacte de l’équation.
3) Comparer la valeur exacte et la valeur approchée de y (1) pour :
1
• h= ( comparer y (1) et y10 )
10
1
• h= ( comparer y (1) et y100 )
100
1
• h= ( comparer y (1) et y1000 ).
1000
SD04S02
Soit β un réel strictement positif. On considère l’équation différentielle :
y′ (t ) = − β y (t ) , t > 0
y ( 0 ) = y0
On note comme d’habitude le pas h > 0 , tn = nh et yn une approximation de y (tn ) .
1) Pour la méthode de Runge-Kutta d’ordre 2, quelle condition faut-il imposer à h
( en fonction de β ) pour avoir lim yn = 0 ?
n →+∞
2) Même question avec la méthode de Runge-Kutta d’ordre 4.
SD04E01B
y′ (t ) = − β y (t )
On considère l’équation différentielle .
y ( 0 ) = 1
1) Ecrire la méthode d’Euler avec un pas h.
2) Déterminer la solution exacte de cette équation différentielle.
3) En écrivant la formule de Taylor appliquée à la solution exacte, majorer l’erreur
commise en remplaçant y ( h ) par y1 .
SD04E02B
SD04E03B
SD04E01A
1) La méthode s’écrit :
1 5 3
y n +1 = y n + ( − 10 y n ) = y n − y n = −
4 2 2 yn
y (0 ) = 1
tn+1 = tn + 1
4
On en déduit :
y0 = y ( 0 ) = 1
3 3
y1 = − y0 = −
2 2
9
y2 =
4
27
y3 = −
8
81
y4 =
16
1
0 ≤ (1 − 10h ) ≤ 1 ⇔ 0 ≤ 1 − 10h ≤ 1 ⇔ 0 ≤ h ≤
n
.
10
Si vous avez éprouvé des difficultés à résoudre cet exercice, nous vous
conseillons de cliquer sur Exercice
SD04E01B
y′ (t ) = − β y (t )
y ( 0 ) = 1
1) Méthode d’Euler avec un pas h :
yn+1 = yn + h ( − β yn ) = (1 − β h ) yn
On en déduit yn = (1 − β h ) et en particulier y1 = 1 − β h .
n
Si vous avez éprouvé des difficultés à résoudre cet exercice, nous vous
conseillons de contacter votre tuteur
SD04E02A
Si vous avez éprouvé des difficultés à résoudre cet exercice, nous vous
conseillons de cliquer sur Exercice
SD04E02B
1
1) yn +1 = yn − β hyn +1 ⇔ yn +1 = yn
1+ β h
2) La solution exacte est y = e − β t .
β 2 h 2 − βθ h
3) e− β h = 1 − β h + e avec 0 < θ < 1 . D’autre part :
2
1 β 2h2
y1 = = 1− β h + avec 0 < θ ′ < 1 donc la différence vérifie e ≤ Ch2 où
1+ β h (1 + θ ′h )
3
Si vous avez éprouvé des difficultés à résoudre cet exercice, nous vous
conseillons de contacter votre tuteur
SD04E03A
yn+1 = yn + 2 ( kn1 + kn2 )
1
1) La méthode de Runge-Kutta d’ordre 2 ( RK 2) s’écrit : kn1 = h ( −10 yn ) et
(
kn2 = h −10 ( yn + kn1 )
)
quand on remplace : yn +1 = yn − 5hyn − 5hyn − 5h ( −10 yn ) = (1 − 10h + 50h 2 ) yn .
C’est une suite géométrique et grâce à la condition initiale y0 = 1 on trouve
yn = (1 − 10h + 50h 2 ) .
n
Si vous avez éprouvé des difficultés à résoudre cet exercice, nous vous
conseillons de cliquer sur Exercice
SD04E03B
R| y
|| n +1 = yn +
1
6
b
kn1 + 2 kn 2 + 2 kn 3 + kn 4 g
= hn ayn
||k n1
FG k IJ
S|k n2
H 2K
= hn a yn + n1
||k F k IJ
= h aG y +
H 2K
n2
||n3 n n
Tk
n4 = h ab y + k g
n n n3
1 1 h ay 1 IJ 1 FG FG1 h ay FG IJ IJ
6 3 2 3 K 2 H
yn +1 = yn + hn ayn + hn a yn + n n + hn a yn + hn a yn + hn ayn + n n
H 2 6 H K K
h a F 2 2
F 1 II
G y + h a G y + h ay J J
1
+
6 H H 2 KK
n
n n n n n
2
F 1 1 1 1I F 1 1 1I
+ y ah G + + + J + h a y G + + J + h
F 1 1I h a
a y G + J+
4 4
= yn
H 6 3 3 6K H 6 6 6K H 12 12 K 24
2 2 3 3 n
n n n n n n yn
1 1 1
= yn + yn ahn + yn a 2 hn 2 + yn a 3hn 3 + yn a 4 hn 4
2 6 24
b g b
y tn +1 = y t n + hn g
= Ce b n n g
a t +h
b g
= y tn e ahn
F
= ybt gG 1 + ah + a h
1 1 1
e jIJK
+ a 3hn 3 + a 4 hn 4 + ο hn 4
H
2 2
n n n
2 6 24
Si vous avez éprouvé des difficultés à résoudre cet exercice, nous vous
conseillons de contacter votre tuteur
SD04E01A
1
yn+1 = yn + hn f (t n , yn ) avec ici hn = h = et f (t , y ) = −10 y .
4
SD04E01B
SD04E02A
1
yn +1 = yn + hn f (tn +1 , yn +1 ) avec hn = h = et f (t , y ) = −10 y : on sera amené à
4
exprimer yn +1 en fonction de yn .
SD04E02B
SD04E03A
SD04E03B
||k F k IJ
= h aG y +
H 2K
n2
||n3 n n
Tk
n4 = h ab y + k g
n n n3