Vous êtes sur la page 1sur 39

a

Introduction à la résolution des E.D.O.

Support de cours

Ingénieurs Sup'Galilée

Energétique - 1ère année

a. Version beta 0.3 du 11 Mars 2011

par Cuvelier François

Université Paris Nord - Institut Galilée - LAGA


Av. J.-B. Clément 93430 Villetaneuse
email : cuvelier@math.univ-paris13.fr
Table des matières

1 Introduction 3
1.1 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Météorologie . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Biologie . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Chimie : La réaction de Belousov-Zhabotinsky . . . . . 5
1.1.4 Mécanique . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Dénition des E.D.O. . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Formulation générale : le problème de Cauchy . . . . . . . . . 10
1.4 Dérivation numérique . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Méthode des diérences nies pour le problème de Cauchy en
dimension d  1 . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.7 Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.8 Méthode des diérences nies pour le problème de Cauchy en
dimension d . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Méthode à un pas ou à pas séparés 19


2.1 Schéma général . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Consistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 Ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3 Méthode de Runge-Kutta 20
3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Formules explicites de Runge-Kutta d'ordre 2 . . . . . . . . . 21
3.3 Méthodes de Runge-Kutta d'ordre 4 . . . . . . . . . . . . . . 22

4 Méthodes à pas multiples 23


4.1 Exemple : schéma de point milieu . . . . . . . . . . . . . . . . 23
4.2 Le principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Méthodes d'Adams-Bashforth . . . . . . . . . . . . . . . . . . 24
4.4 Méthodes d'Adams-Moulton . . . . . . . . . . . . . . . . . . . 25
4.5 Schéma prédicteur-correcteur . . . . . . . . . . . . . . . . . . 25
4.5.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5.3 Comparaison avec Runge-Kutta . . . . . . . . . . . . . 26

5 Exercices corrigés 26
1 INTRODUCTION

1 Introduction

1.1 Exemples
1.1.1 Météorologie
Modèle de Lorentz :
Source Wikipedia Mathématiquement, le couplage de l'atmosphère avec
l'océan est décrit par le système d'équations aux dérivées partielles cou-
plées de Navier-Stokes de la mécanique des uides. Ce système d'équa-
tions était beaucoup trop compliqué à résoudre numériquement pour
les premiers ordinateurs existant au temps de Lorenz. Celui-ci eut donc
l'idée de chercher un modèle très simplié de ces équations pour étu-
dier une situation physique particulière : le phénomène de convection
de Rayleigh-Bénard. Il aboutit alors à un système dynamique diéren-
tiel possédant seulement trois degrés de liberté, beaucoup plus simple
à intégrer numériquement que les équations de départ.
$ 1
& x ptq  σxptq σyptq
y 1 ptq  xptqyptq ρxptq  yptq (1.1)
% z 1 ptq  xptqyptq  βzptq
avec σ  10, ρ  28, β  8{3 et les données initales xp0q  8,
y p0q  8 et z p0q  ρ  1.
Dans ces équations, σ ,ρ - respectivement le nombre de Prandtl et le
rapport du nombre de Rayleigh sur un Rayleigh critique - et β sont
trois paramètres réels.
xptq est proportionnel à l'intensité du mouvement de convection, y ptq
est proportionnel à la diérence de température entre les courants as-
cendants et descendants, et z ptq est proportionnel à l'écart du prol
de température vertical par rapport à un prol linéaire (Lorenz 1963
p.135).
La résolution numérique de ce modèle donne

3
1.1 Exemples 1 INTRODUCTION

Modele de Lorentz
20

x(t)
0

−20
0 10 20 30 40 50 60 70 80 90 100
t
50
y(t)

−50
0 10 20 30 40 50 60 70 80 90 100
t

40
z(t)

20

0
0 10 20 30 40 50 60 70 80 90 100
t

Modele de Lorentz

50

45

40

35

30
z(t)

25

20

15
50
10

5 0

0
−50
−20 −15 −10 −5 0 5 10 15 20 y(t)

x(t)

1.1.2 Biologie
Considérons une population y d'animaux dans un milieu ambient où au
plus B animaux peuvent coexister. On suppose que initialement la popula-
tion soit y0    B et que le facteur de croissance des animaux soit égal à
une constante C. Dans ce cas, l'évolution de la population au cours du temps
sera proportionnelle au nombre d'animaux existants, sans toutefois que ce
nombre ne dépasse la limite B. Cela peut s'exprimer à travers l'équation


1 y ptq
y ptq  Cy ptq 1  , t ¡ 0, y p0q  y0. (1.2)
B
La résolution de cette équation permet de trouver l'évolution de la population
au cours du temps.

4
1.1 Exemples 1 INTRODUCTION

On considère maintenant deux populations, y1 et y2 , où y1 sont les proies


et y2 sont les prédateurs. L'évolution des deux populations est alors décrite
par le système d'équations diérentielles
" 1
y1 ptq  C1y1ptqr1  b1y1ptq  d2y2ptqs, (1.3)
y 1 ptq
2  C2y2ptqr1  d1y1ptqs,
où C1 et C2 sont les facteurs de croissance des deux populations, d1 et d2
tiennent compte de l'interaction entre les deux populations, tandis que b1
est lié à la quantité de nourriture disponible pour la population des proies
y1 . Ce système d'équations diérentielles est connu comme modèle de Lotka-
Volterra.

1.1.3 Chimie : La réaction de Belousov-Zhabotinsky


Sous certaines conditions, des réactions chimiques peuvent être oscil-
lantes. Par exemple, le mélange d'une solution de bromate de potassium
et d'acide sulfurique avec une solution d'acide manolique et de bromure de
sodium peut entrainer une oscillation de la couleur de la solution mélange
du rouge au bleue avec une période de 7 secondes.
Le modéle associé est nommé modèle du bruxelator basé sur les équa-
tions chimiques :
A ÝÑ X p M1 q
2X Y ÝÑ 3X p M2 q
B X ÝÑ Y C pM3 q
X ÝÑ D p M4 q
On note ki , i P v1, 4w les vitesses de réations des équations pMi q. On obtient
alors le système diérentielle suivant :
$ 1
'
' A pt q  k1Aptq
& B 1 pt q  k3B ptqX ptq
'
' X 1 pt q  k1Aptq k2X 2ptqY ptq  k3B ptqX ptq  k4X ptq
% 1
Y ptq  k2X 2ptqY ptq k3B ptqX ptq
Exemple 1 Dans cet exemple, on étudie le problème simplié du Bruxela-
tor. Lorsque les réactions de (??) ont des constantes de réactions k1 , . . . , k4
égales respectivement à 1, α ¡ 0, 1 et 1, et que les concentrations de A et
B sont constantes, repectivement égales à 1 et β ¡ 0, on est alors amené à
résoudre l'E.D.O. @t Ps0, T s,
" 1
X ptq  1 αX 2 ptqY ptq  pβ 1qX ptq
(1.4)
Y 1 ptq  αX 2 ptqY ptq βX ptq

Par exemple, avec le jeu de données α  1, β  3.5 et les contitions initiales


X p0q  3 et Y p0q  2 on obtient des oscillations :

5
1.1 Exemples 1 INTRODUCTION

Brusselator simplifie − Concentrations


6
X(t)
Y(t)

0
0 5 10 15 20 25 30 35 40
t

Brusselator simplifie
6

4
Y(t)

0
0 1 2 3 4 5 6
X(t)

1.1.4 Mécanique
Le pendule pesant le plus simple est constitué d'un petit objet pesant
accroché à une tige de masse négligeable devant celle de l'objet. L'autre
extrémité de la tige est l'axe de rotation du pendule. Un tel pendule, sans
viscosité, est appelé pendule pesant simple. On note θptq l'angle que fait le

6
1.1 Exemples 1 INTRODUCTION

pendule par rapport à l'axe vertical, à un instant t, L la longueur de la tige,


m sa masse et g l'accélération de la pesanteur. L'équation diérentielle est
donnée par
θ2 ptq sinpθptqq  0.
g
(1.5)
L
Si le pendule est soumis à un frottement visqueux de coecient ν , l'ex-
pression de l'accélération angulaire devient :

θ 2 pt q
ν 1
sinpθptqq θ ptq  0.
g
(1.6)
L mL2
Exemple 2 Dans cet exemple, on étudie le problème du pendule pesant sans
viscosité décrit au paragraphe 1.1.4. On est donc ramené à résoudre l'E.D.O.

θ2 ptq sinpθptqq  0, @t Ps0, T s,


g
(1.7)
L
avec les conditions initiales
"
θp0q  θ0 , position angulaire initiale,
(1.8)
θ1 p0q  θ0 , vitesse angulaire initiale,

Par exemple, avec le jeu de données g


 3 et les conditions initiales θ0  5π6
et θ01  0 on obtient
L

Pendule pesant − valeur angulaire


3

1
θ(t)

−1

−2

−3
0 2 4 6 8 10 12 14 16 18 20
t

Pendule pesant − vitesse angulaire


4

2
θ’(t)

−2

−4
0 2 4 6 8 10 12 14 16 18 20
t

7
1.2 Dénition des E.D.O. 1 INTRODUCTION

Pendule pesant
4

1
θ’(t)

−1

−2

−3

−4
−3 −2 −1 0 1 2 3
θ(t)

1.2 Dénition des E.D.O.


Soit une fonction y dénie sur un intervalle de R à valeurs dans Rm de
classe C p (continûment dérivable d'ordre p) et on note y ppq la dérivée d'ordre
p de y .

Dénition 1.1 On appelle équation diérentielle ordinaire (E.D.O.)


d'ordre p une équation de la forme :
F pt, y ptq, y p1q ptq, y p2q ptq, . . . , y ppq ptqq  0.

Dénition 1.2 On appelle forme canonique d'une E.D.O. une expres-


sion du type :
y ppq ptq  G pt, y ptq, y p1q ptq, y p2q ptq, . . . , y pp1q ptqq. (1.9)

Toute équation diérentielle d'ordre p sous forme canonique peut s'écrire
comme un système de p équations diérentielles d'ordre 1. En eet, en in-
troduisant p fonctions dénies par
$
'
' z r1s ptq  y p0q ptq
'
& z r2s ptq  y p1q ptq
' ..
'
' .
% rps
z ptq  y pp1q ptq

8
1.2 Dénition des E.D.O. 1 INTRODUCTION

on obtient $
dzz r1s
'
'
' pt q  y p1q ptq  z r2s ptq,
' dzz r2s
dt
&
dt pt q  y p2q ptq  z r3s ptq,
' ..
'
' .
'
% dzz rps
dt ptq  y ppq ptq.
Or
y ppq ptq  G pt, y ptq, y p1q ptq, y p2q ptq, . . . , y pp1q ptqq
 G pt, z r1s ptq, z r2s ptq, . . . , z rps ptqq.
On obtient alors le système diérentiel d'ordre 1 suivant :
$ r1s
r2s
dt ptq  z ptq,
'
' dzz
'
' r s
& dzz ptq  z r3s ptq,
2
dt
.. (1.10)
'
' .
'
'
% dzz rps ptq  G pt, z r1s ptq, z r2s ptq, . . . , z rps ptqq.
dt
Exemple
 1
(suite) Pour obtenir la forme canonique de (1.4), on pose
y1 ptq
y pt q  avec y1 ptq  X ptq et y2 ptq  Y ptq. On obtient alors
y2 ptq
 p1q 

p 1q y1 ptq X p1q ptq


y ptq  p1q  Y p1qptq
y2 ptq


2 αX ptqY ptq  pβ 1qX ptq


 1
αX 2ptqY ptq βX ptq


αy12 ptqy2 ptq  pβ 1qy1 ptq


 1
αy12ptqy2ptq βy1ptq
Avec p  1 et
$
& G b : R  R2 ÝÑ 
R 2

αz12 z2  pβ 1qz1
% pt, z q ÞÝÑ 1
αz12z2 βz1
la forme canonique est donnée par
y p1q ptq  G b pt, y ptqq. (1.11)

Exemple 2 (suite) Pour obtenir la forme canonique de (1.7),on prend
p2 et "
Gp : R  R  R ÝÑ R
pt, u, vq ÞÝÑ  Lg sinpuq .

La forme canonique est alors donnée par


θp2q ptq  Gp pt, θptq, θp1q ptqq. (1.12)

9
1.3 Formulation générale : le problème de Cauchy 1 INTRODUCTION

1.3 Formulation générale : le problème de Cauchy


Dénition 1.3 (problème de Cauchy) Soit f l'application continue dé-
nie par
f : rt0, t0 T s  Rd ÝÑ Rd
pt, y q ÞÝÑ f pt, y q
avec T Ps0, 8s. Le problème de Cauchy revient à chercher une fonction
y dénie par
y : rt0, t0 Ts ÝÑ Rd
t ÞÝÑ y ptq
continue et dérivable, telle que
y 1 pt q  f pt, y ptqq, @t P rt0, t0 Ts (1.13)
y pt0 q  y r0s P Rd. (1.14)

On supposera qu'une telle solution existe.

Exemple 1.4 Un problème de Cauchy peut être linéaire, comme par


exemple : " 1
y ptq  3y ptq  3t, si t ¡ 0
y p0 q  1
pour lequel f pt, vq  3v  3t et dont la solution est yptq  p1  1{3qe3t
t 1{3.
On peut avoir aussi des problèmes non-linéaires, comme :
" 1 a
y ptq  3 y ptq, si t ¡ 0
y p0q  0
?
avec f pt, vq  3 v.
a Ce problème admetales trois solutions suivantes :
y ptq  0, y ptq  8t3 {27 et y ptq   8t3 {27.
Le problème suivant :
" 1
y ptq  1 y 2 ptq, si t ¡ 0
y p0 q  0

admet comme solution la fonction yptq  tanptq avec 0  t  π


2 ,
c'est-à-dire une solution locale.

Exemple 1 (suite) La forme canonique (1.11) est d'ordre on obtient 1,


alors directemnt le problème de Cauchy associé : chercher une fonction y
dénie par
y : r0, T s ÝÑ R2
t ÞÝÑ y ptq

10
1.3 Formulation générale : le problème de Cauchy 1 INTRODUCTION

continue et dérivable, telle que


y 1 ptq  f pt, y ptqq, @t P rt0, t0 Ts (1.15)
y p0 q  y0 PR 2
(1.16)


avec f  G b et y p0q  3
2
.

Exemple 2 (suite) La forme canonique (1.12) est d'ordre 2. On se ra-


mène à un système diérentiel du 1er ordre en posant :



y 1 pt q θptq
y ptq   θp1qptq
y 2 pt q

On a alors, en dérivant l'expression précédente :


 p1q 

p 1q y1 ptq θp1q ptq


y ptq  p1q 
y2 ptq θp2q ptq


θp1q ptq
 G pt, θptq, θp1qptqq
p


y 2 pt q
 Gp pt, y1 ptq, y2 ptqq
.

On pose
fp : r0, T s  R2 ÝÑ 
R 2

pt, z q ÞÝÑ z2
Gp pt, z1 , z2 q
.

Le problème de Cauchy revient à chercher une fonction y dénie par


y : r0, T s ÝÑ R2
t ÞÝÑ y ptq
continue et dérivable, telle que
y 1 ptq  f p pt, y ptqq, @t P r0, T s (1.17)
y p0q  y0 PR 2
(1.18)


y p0 q 
θ0
avec
θ1
.
0

Dans de nombreux cas, la variable t représente le temps et les compo-


santes du vecteur y , une famille de paramètres décrivant l'état d'un système
matériel donné. L'équation diérentielle (1.17) traduit physiquement la loi
d'évolution du système considéré.
En général, il est impossible de trouver des solutions exactes à ces pro-
blèmes. Il faut alors construire des méthodes numériques pour obtenir des

11
1.4 Dérivation numérique 1 INTRODUCTION

solutions approchées. Toutefois, il faudra vérier l'existence et l'unicité de la


solution. Pour cela, on a le
" 1
y pt q
 f pt, y ptqq
pPC q y pt0 q
 y 0 P Rm .
avec f : U ÝÑ Rm , U un ouvert de R  Rm et pt0 , y r0s q P U .

Théorème 1.5 (Cauchy-Lipschitz) On suppose que la fonction f est conti-


nue sur U et quelle est localement lipschitzienne en y : @pt, y q P U, DW
voisinage t , DV voisinage y , DL ¡ 0 tels que
@s P W, @pu, v q P V 2, }f ps, uq  f ps, v q} ¤ L }u  v } (1.19)

Sous ces hypothèses le problème de Cauchy pPC q admet une unique solution.
Bf
Proposition 1.6 Si pt, y q est continue et bornée, alors f satisfait la
By
condition de Lipschitz (1.19) en y .

1.4 Dérivation numérique


Soit y : ra, bs ÝÑ R, de classe C 1 et t P ra, bs. La dérivée y 1 ptq est donnée
par

y pt hq  y ptq
y 1 pt q  lim
hÑ0 h
y ptq  y pt  hq
 lim
hÑ0 h
y pt hq  y pt  hq
 lim
hÑ0 2h
 a nh, n P v0, N w et h  pb  aq{N une discrétisation
On note tn
régulière de ra, bs. Soit pDyqn une approximation de y1 ptn q. On appelle
diérence nie progressive l'approximation
pDyqP  ypt q  ypt q , @n P v0, N  1w
n 1 n
n (1.20)
h
diérence nie rétrograde l'approximation
n1
pDyqR  ypt q  ypt q , @n P v1, N w
n
n (1.21)
h
diérence nie centrée l'approximation
n1
pDyqC  ypt q  ypt q , @n P v1, N  1w
n 1
n (1.22)
2h

12
1.4 Dérivation numérique 1 INTRODUCTION

Pour calculer l'erreur commise par ces approximations, on rappelle le


developpement de Taylor
Proposition 1.7 (Développement de Taylor) Soit f une application f :
ra, bs ÝÑ R. Si f P C r 1pra, bsq alors @px, yq P ra, bs2 il existe un ξ Psx, yr tel
que
f p k q py q f pr q pξ q
ŗ 1
f pxq  f py q p x  y qk px  y q r 1
(1.23)
k0
k! pr 1 q!

Exercice 1.1 Q. 1 Soit y P C 2 pra, bsq.


1. Montrer qu'il existe ηPn Pstn, tn 1r et ηRn Pstn1, tnr tels que
pDyqPn  yp1qptnq h p2q n
2
y pη P q

et
pDyqRn  yp1qptnq  h2 yp2qpηRn q
2. En déduire que
|yp1qptnq  pDyqPn | ¤ Ch, avec C 
1
max
2 tPrtn ,tn 1 s
|yp2qptq|
et
|y1ptnq  pDyqRn | ¤ Dh, avec D 
1
max |y p2q ptq|
2 tPrtn1 ,tn s

Q. 2 Soit y P C 3 pra, bsq.


1. Montrer qu'il existe η1n Pstn , tn 1 r et η2n Pstn1, tnr tels que
pDyqCn  yp1qptnq  h12 pyp3qpη1nq y p3q pη2n qq
2

2. En déduire que
|yp1qptnq  pDyqCn | ¤ Eh2, avec E 
1
max
6 tPrtn1 ,tn 1 s
|yp3qptq|

Dénition 1.8 La diérence τ phq  |y1 ptn qpDyqn | est appelée erreur de
troncature au point tn . On dira que τ est d'ordre p ¡ 0 si il existe une
constance C ¡ 0 telle que
τ phq ¤ Chp .

Les erreurs de troncature des diérences nies progressive et rétrograde


sont d'ordre 1 et l'erreur de troncature de la diérence nie centrée est d'ordre
2.

13
1.5 Méthode des diérences nies pour le problème de Cauchy en
dimension d  1 1 INTRODUCTION

1.5 Méthode des diérences nies pour le problème de Cau-


chy en dimension d  1
On veut résoudre numériquement le problème de Cauchy (1.13)-(1.14) en
utilisant les diérences nies progressive, rétrograde ou centrée.
On note tn  t0 nh, n P t0, . . . , N u une discrétisation régulière de
rt , t0 T s avec h  T {N le pas de temps. On a
0

y 1 ptq  f pt, y ptqq, @t P rt0, t0 Ts


ce qui entraine
y 1 ptn q  f ptn , y ptn qq, @n P v0, N w. (1.24)
En utilisant la formule des diérences nies progressive, on a @n P v0, N  1w,
Dηn P rtn, tn 1s tels que
y ptn 1 q  y ptn q h 2
h
 f ptn, yptnqq 2
y pηn q
ou encore
h2 2
y ptn 1
q  yptnq hf ptn , y ptn qq
y p η n q.
2
On note y rns une approximation de y ptn q pour n P v0, N w.
La méthode d'Euler progressive est donnée par le schéma
" rn 1s
y  yrns hf ptn , y rns q, @n P v0, N  1w (1.25)
y r0s  ypt0q
Ce schéma est explicite, car il permet le calcul direct de y rn 1s en fonction
de y rns .
De la même manière, la méthode d'Euler régressive est donnée par le
schéma
" rn 1s
y  yrns hf ptn r
1, y n 1 s q, @n P v0, N  1w
(1.26)
y r0s  ypt0q
Ce schéma est implicite, car y rn 1s est dénit implicitement en fonction de
y rns . Il faut donc résoudre à chaque pas de temps une équation non-linéaire
en utilisant des méthodes de point xe par exemple.
Exercice 1.2 On veut résoudre numériquement le problème pP q suivant :
trouver y telle que
" 1
y ptq cosptq 1, @t P r0, 4πs
pP q y p0 q
 0.
dont la solution exacte est yptq  sinptq t.
On rappelle le schéma d'Euler progressif pour la résolution d'un problème
de Cauchy " rn 1s rns n rns
pS q yyr0s  ydonné.hf pt , y q,

14
1.6 Exemple 1 INTRODUCTION

Q. 1 Expliquer en détail comment utiliser le schéma d'Euler progressif pour


résoudre le problème pP q en précisant entre autres les données, les inconnues,
les dimensions des variables, lien entre yrns et la fonction y, ...

Q. 2 (algorithmique) Soit a, b, a   b deux réels. Ecrire une fonction Dis-


Reg retournant une discrétisation de l'intervalle ra; bs avec N pas (constant)
de discrétisation.

Q. 3 (algorithmique) Ecrire une fonction REDEP retournant l'ensemble


des couples ptn , yrns q calculés par le schéma d'Euler progressif.

Q. 4 (algorithmique) Ecrire un algorithme complet de résolution de pP q


par le schéma d'Euler progressif.

1.6 Exemple
Soit l'E.D.O. suivante
" 1
y ptq  y pt q t2 y 2 ptq, pour t P r0, 5s,
y p0q  1

de solution exacte
y ptq  1{pet  t2 2t  2q.
Les résolutions numériques avec les schémas d'Euler progressif et rétrograde
sont représentés en gure 1.

1.7 Stabilité
Pour illustrer la notion de stabilié (absolue) d'un schéma numérique, on
étudie le problème modèle suivant :
Soit λ   0, Soit l'E.D.O. suivante
" 1
y pt q  λy ptq, pour t P R ,
y p0 q  y0

où λ   0 est donné. La solution exacte est

y ptq  y0 eλt .

En particulier, on a
lim y ptq  0
t Ñ 8

15
1.7 Stabilité 1 INTRODUCTION

y’(t)=y(t)+t2 y2(t) avec y(0)=−1 et N=20


0

−0.2

exacte
−0.4
Euler Progressive
Euler Régressive
−0.6

−0.8

−1

−1.2

−1.4

−1.6

−1.8
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t

Figure 1  résolutions avec Euler progressif et rétrograde

Dénition 1.9 On pose tn  nh, où le pas de temps h ¡ 0 est donné et


r s
y une approximation de y ptn q par un schéma donné. On dit alors que le
n

schéma associé à ce problème est absolument stable si


lim y rns  0.
nÑ 8

Ce n'est malheureusement pas toujours le cas comme illustré en gure2 avec


le schéma d'Euler progressif et h  20
19  1.05. Par contre, avec h  21 
20

0.95, le même schéma est stable (voir gure3).


Pour comprendre ce phénomène, on écrit le schéma d'Euler progressif :

y rn s  yrns
1
hf ptn , y rns q  y rns λhy rns  p1 λhqy rns

d'où
y rns  p1 λhqn y r0s , @n ¥ 0.
On remarque alors que si |1 λh| ¡ 1 alors limnÑ 8 |y rns |  8, le schéma
d'Euler progressif est alors instable. Pour assurer la stabilité, il faut ici im-
poser une condition sur h :

|1 λh|   1 d'où 0   h    .
2
λ
On dit alors que le schéma d'Euler progressif est conditionnellement stable.

16
1.7 Stabilité 1 INTRODUCTION

y’(t)=−2y(t) avec y(0)=1 et h=1.0526


8

exacte
6 Euler Progressive
Euler Regressive

−2

−4

−6

−8
0 2 4 6 8 10 12 14 16 18 20
t

Figure 2  Instabilité Euler progressif - Stabilité Euler rétrograde

y’(t)=−2y(t) avec y(0)=1 et h=0.95238


1
exacte
Euler Progressive
0.8 Euler Regressive

0.6

0.4

0.2

−0.2

−0.4

−0.6

−0.8

−1
0 2 4 6 8 10 12 14 16 18 20
t

Figure 3  Stabilité Euler progressif - Stabilité Euler rétrograde

17
1.8 Méthode des diérences nies pour le problème de Cauchy en
dimension d 1 INTRODUCTION

De la même manière, pour le schéma d'Euler rétrograde on obtient




y rn 1s  y rns 
1
1  λh

et donc 
n
y rns  y r0s , @n ¥ 0.
1
1  λh
Dans ce cas limnÑ 8 y rns  0 sans condition : on dit que le schéma d'Euler
rétrograde est inconditionnellement stable.

1.8 Méthode des diérences nies pour le problème de Cau-


chy en dimension d
On veut résoudre le problème de Cauchy :
" 1
y ptq  f pt, y ptqq, @t P rt0, t0 Ts
pPC q y p q  y 0 P Rd .
t0
La fonction f étant dénie par

f : rt0, t0 T s  Rd ÝÑ Rd 
f 1 pt, z q
pt, z q ÞÝÑ 
w  f pt, z q   ...

f d pt, z q

En notant  
y1 ptq f1 pt, y ptqq
  
y ptq   ... et f pt, y ptqq   .. 
.
yd ptq fd pt, y ptqq
le problème de Cauchy peut aussi s'écrire sous la forme
$ 1
'
' y1 ptq  f1 pt, y ptqq,
'
&. ..
'
'
' yd1 ptq  fd pt, y ptqq, @t P rt0 , t0 Ts
% avec y pt0 q  y 0 P Rd .
Après discrétisation et utilisation de la formule des diérences nies progres-
sive on obtient $
'
'
rn 1s  yrns hf ptn , y rns q
'
'
y1 1 1
& ..
.
'
' rn 1s  rns hfd ptn , y rns q
'
' yd yd
% avec y pt0 q  y 0 P Rd .

18
2 MÉTHODE À UN PAS OU À PAS SÉPARÉS

 rns
y1
 
où y rns   ... et y rns q  y ptn q.
y
rns
d
On obtient alors la méthode d'Euler progressive sous forme vectorielle :
" rn 1s
y  y rns hff ptn , y rns q, @n P v0, N  1w (1.27)
y r0s  y pt0q
Ce schéma est explicite, car il permet le calcul direct de y rn 1s en fonction
de y rns .
De la même manière, la méthode d'Euler régressive sous forme vecto-
rielle est donnée par le schéma
" rn 1s
y  y rns hff ptn r
1, y n 1 s q, @n P v0, N  1w
(1.28)
y r0s  y pt0q
Ce schéma est implicite, car y rn 1s est dénit implicitement en fonction de
y rns .

2 Méthode à un pas ou à pas séparés

Pour simplier on prend h  hn (pas constant)

2.1 Schéma général


Les méthodes à un pas utilisent la formule générale :
y rn s  y rns
1
Φptn , y rns , hq
hΦ (2.1)
Pour la méthode d'Euler, la fonction Φ pt, y , hq est f pt, y q.

2.2 Convergence
La méthode converge sur l'intervalle rt0 , t0 T s si, pour la suite des y rns
calculés, l'écart maximum avec la solution exacte diminue quand le pas h
diminue :  
lim
 
max y rns  y ptn q  0
h NT Ñ0 nPt0,...,N u

2.3 Stabilité
La méthode est stable si une petite perturbation sur y r0s ou Φ n'entraîne
qu'une petite perturbation sur la solution approchée, et cela quel que soit le
pas h.
Souvent , lorsque la méthode n'est pas stable, l'amplication des erreurs
est exponentielle et, au bout de quelques calculs, les résultats entraînent des
dépassements de capacité.

19
2.4 Consistance 3 MÉTHODE DE RUNGE-KUTTA

Théorème 2.1 Si Φ pt, y , hq vérie la condition de Lipschitz en y alors la


méthode est stable.

2.4 Consistance
Le schéma de calcul (2.1) est consistant avec l'équation diérentielle si
 n
 y pt
lim max 
1 q  y ptnq  Φptn, y ptnq, hq  0
h T Ñ0 n h 
N

Cela signie que le schéma doit être une approximation vraisemblable, bien
construite.

Théorème 2.2 Le schéma est consistant si Φpt, y, 0q  f pt, yq.

Théorème 2.3 Si la méthode est stable et consistante, alors elle converge


pour n'importe quelle valeur initiale.

2.5 Ordre
La méthode itérative est d'ordre p si pour toute solution :
 n
 y pt
max 
1 q  y ptnq  Φptn, y ptnq, hq ¤ Chp
n h 

3 Méthode de Runge-Kutta

3.1 Principe
Pour simplier, on suppose hn  h. L'idée fondamentale des méthodes
de Runge-Kutta est d'intégrer l'équation (??) sur rtn , tn 1 s et de calculer :
» tn 1

y pt
n 1
q  y pt q n
f pt, y ptqqdt,
tn

en utilisant une formule d'intégration numérique à q points intermédiaires


tn,i 1  tn hi pour calculer l'intégrale.
La fonction Φ associée à une méthode de Runge-Kutta à q évaluations
de f peut s'écrire sous la forme :
¸
q
Φ pt, y , hq  cik ris pt, y , hq

i 1

avec

ris
¸
q
rjs
k pt, y , hq  f t hai , y h bi,j k pt, y , hq , 1 ¤ i ¤ q

j 1

20
3.2 Formules explicites de Runge-Kutta
3 MÉTHODE
d'ordre 2 DE RUNGE-KUTTA

que l'on peut représenter sous la forme d'un tableau dit tableau de But-
cher :
a B
(3.1)
ct
avec B  pbi,j qi,j Pv1,qw P Mq,q pRq, a  paiqiPv1,qw P Rq et c  pciqiPv1,qw P Rq
Remarque 3.1 1. Une méthode de Runge-Kutta est d'ordre 0 si
¸q
ai  bij .
j 1 
2. Une méthode de Runge-Kutta est d'ordre 1 (et donc consistante) si elle
est d'ordre 0 et si
¸q
ci  1.
 i 1

3. Une méthode de Runge-Kutta est d'ordre 2 si elle est d'ordre 1 et si


¸q
ci ai  1{2.
 i 1

4. Une méthode de Runge-Kutta est explicite si la matrice B est triangu-


laire inférieure à diagonale nulle :
@pi, j q P v1, qw, j ¥ i, bij  0.
5. Les méthodes de Runge-Kutta explicites sont stables si f est contrac-
tante en y.

3.2 Formules explicites de Runge-Kutta d'ordre 2


0 0 0
1
0 1
(3.2)
1α α
2α 2α

Φ pt, y , hq  p1  αqf pt, y q αff pt f pt, y qq


h h
,y
2α 2α
Avec α  21 , on obtient la méthode de Heun :
h n
y rn s  y rns h n rns
1
f pt , y q f t 1
, y rns hff ptn , y rns q .
2 2
Avec α  1, on obtient la méthode d'Euler modiée ou méthode
du point milieu :


y rn 1s  y rns
h rns h n rns
hff t n
,y f pt , y q .
2 2

21
3.3 Méthodes de Runge-Kutta d'ordre
3 4MÉTHODE DE RUNGE-KUTTA

Exercice 3.1 la méthode de Heun est donnée par


h n
y rn s  y rns h n rns
1
f pt , y q f t 1
, y rns hff ptn , y rns q .
2 2
Q. 1 Ecrire la fonction algorithmique permettant de ré-
REDHeunVec
soudre un problème de Cauchy (vectoriel par la méthode de Heun en utilisant
au plus 2N évaluation de f .

Pour des valeurs plus élevées de p, ces méthodes sont plus précises que
la méthode d'Euler, et d'autant plus que p augmente. On se limite dans la
pratique à p  4. Cette méthode est connue sous le nom de Runge-Kutta 4.
Remarquons que dans ces méthodes le pas peut être adapté à chaque étape.

3.3 Méthodes de Runge-Kutta d'ordre 4


La méthode explicite la plus utilisée est donnée par le tableau de Buchler
suivant
0 0 0 0 0
1{2 1{2 0 0 0
1{2 0 1{2 0 0 (3.3)
1 0 0 1 0
1{6 2{6 2{6 1{6
Ce qui donne le schéma explicite de Runge-Kutta d'ordre 4 :
rns
k1  f ptn , y rns q
k2
rns  f ptn h2 , y rns h2 k 1 q
rns
k3
rns  f ptn h2 , y rns h2 k 2 q
rns (3.4)
k4
rns  f ptn h, y rns hkk 3 q
rns
y rn s
1  y rns h6 pk 1
rns 2kk rns 2kk rns k4
rns q.
2 3

Exercice 3.2 la méthode de Runge-Kutta d'ordre 4 est donnée par


rns
k1  f ptn , y rns q
k2
rns  f ptn h2 , y rns h2 k 1 q
rns
k3
rns  f ptn h2 , y rns h2 k 2 q
rns
k4
rns  f ptn h, y rns hkk 3 q
rns
y rn s
1  y rns h6 pk 1
rns 2kk rns 2kk rns k rns q.
h  n 1 rns
2 3 4

y rn s  y rns h n rns
1
f pt , y q f t ,y hff ptn , y rns q .
2 2
Q. 1 Ecrire la fonction algorithmique REDRK4Vec permettant de résoudre
un problème de Cauchy (vectoriel par la méthode de Runge-Kutta d'ordre 4.

22
4 MÉTHODES À PAS MULTIPLES

4 Méthodes à pas multiples

4.1 Exemple : schéma de point milieu


Considérons la méthode à deux pas dénie par la récurrence :

y rn s  y rn1s
1
2hff ptn , y rns q. (4.1)

Cette méthode est d'ordre 2.


De manière évidente, ces méthodes à pas multiples posent des problèmes
de démarrage : ici, on ne peut calculer directement y r1s . Les premières valeurs
doivent être calculées par un autre schéma.

4.2 Le principe
Dans tous les schémas présentés, la valeur de y rn 1s était déterminée
à chaque pas de façon explicite en fonction uniquement du point y rns . On
peut tenir compte de plusieurs valeurs y ris précédemment calculées et ainsi
travailler sur un nombre de pas multiples.
Les méthodes à pas multiples s'écrivent sous la forme générale :
ķ ķ
αiy rn is  h βif ptn i , y rn i sq (4.2)

i 0 
i 0

où k est le nombre de pas, αk  0 et |α0| |β0| ¡ 0.


Remarque 4.1 Si βk  0 le schéma est explicite, sinon il est implicite.
Dénition 4.2 (ordre) Soit y la solution du problème de Cauchy (??) et
y rn ks la valeur obtenue par le schéma (4.2) en prenant y rn is  y ptn iq,
@i P v0, k  1w. Alors, l'erreur locale est
τ pn k q  y pt n k
q  y rn k s.

Le schéma (4.2) est d'ordre p si


τ pn k q  Ophp 1
q.
Théorème 4.3 Un schéma à pas multiple de type (4.2) est d'ordre p si et
seulement si

αi  0,

i 0
ķ ķ
αi i q
 q βi iq1 , @q P v1, pw.

i 0 
i 0

23
4.3 Méthodes d'Adams-Bashforth 4 MÉTHODES À PAS MULTIPLES


Propriété 4.4 (Stabilité) Soit P le polynôme déni par P pλq  αi λi .

Une méthode à pas multiple est stable, si
i 0

1. toutes les racines de P sont de module inférieur ou égal à 1,


2. une racine de module égal à 1 est une racine simple de P.

 2 et
Pour le schéma (4.1), on a k
$ $
  1 & β0  0
& α0
α  0 β  2
% α1  1 % β1  0
2 2

On obtient donc P pλq  1 λ2  pλ 1qpλ  1q : le schéma (4.1) est stable.


Théorème 4.5 (Convergence) On suppose que les k valeurs initiales vé-
rient,  
y pti q  y ris  ¤ C hp , @i P v0, k  1w.
  0

Si le schéma (4.2) est d'ordre p et stable, alors il est convergent d'ordre p :


 
y ptn q  y rns  ¤ Chp , @n P v0, N w.
 
Pour obtenir, à partir d'un schéma à k pas, un schéma d'ordre p il faut
obligatoirement initialiser les k premières valeurs à l'aide d'un schéma d'ordre
p au moins.

4.3 Méthodes d'Adams-Bashforth


On note f rns  f ptn, y rnsq
h  rns rn1s

y rn s
1
 y rns3f 
f f . (4.3)
2

y rn 1s  y rns 23ff rns  16ff rn1s 5ff rn2s .
h
(4.4)
12
h 
y rn 1s  y rns 55ff rns  59ff rn1s 37ff rn2s  9ff rn3s . (4.5)
24
Ces schémas sont explicites et leur ordre correspond au nombre de pas.
Exercice 4.1 La méthode de Adam-Bashforth d'ordre 4 explicite est
donnée par

y rn 1s  y rns h
24 55ff rns  59ff rn1s 37ff rn2s  9ff rn3s .

avec f rns  f ptn , y rns q.


Q. 1 Ecrire la fonction algorithmique REDAB4Vec permettant de résoudre
un problème de Cauchy (vectoriel) par cette méthode.

24
4.4 Méthodes d'Adams-Moulton 4 MÉTHODES À PAS MULTIPLES

4.4 Méthodes d'Adams-Moulton

h  rn 1s
y rn 1 s  y rns f f rns . (4.6)
2
h  rn 1s
y rn 1 s  y rns 5ff 8ff rns  f rn1s . (4.7)
12
h  rn 1s
y rn 1 s  y rns 9ff 19ff rns  5ff rn1s f rn2s . (4.8)
24
Ces schémas sont implicites et leur ordre correspond au nombre de pas plus
un.

4.5 Schéma prédicteur-correcteur


4.5.1 Principe
Il s'agit là d'une des méthodes les plus employées. Une méthode de
prédiction-correction procède en deux temps : on fournit explicitement une
valeur approchée de la solution au nième pas (soit y rn 1s ), puis on calcule
rn 1s
la valeur correspondante de f (soit f ) et enn, on subsitue cette valeur
dans un schéma implicite (on obtient alors une valeur corrigée ).
pour n variant de 0 à N  1 faire
Calculer une valeur approchée y rn 1 s par un schéma explicite ;
rn 1s
Evaluer f  f ptn 1, y rn 1sq;
y rn 1s q à l'aide d'un schéma implicite en remplaçant l'inconnue par y rn s q;
1

npour

4.5.2 Exemple
Choisissons la méthode d'Euler explicite pour prédicteur et la méthode
implicite des trapèzes comme correcteur.
Euler explicite : y rn 1s  y rns hff ptn , y rns q
Trapèze implicite : y rn 1s  y rns h2 pf ptn , y rns q f ptn 1 , y rn 1s qq
On obtient :
$ rns
'
'
'
f  f ptn, y rnsq;
& y rn 1s  y rns hff rns;
rn 1s
'
'
' f
% rn 1s
 f ptn 1, y rn 1sq;
y  y rns h2 py rn 1s f rns q
Remarque 4.6 On retrouve ici, pour ce cas simple, une formule de Runge-
Kutta 2.

En pratique, on peut utiliser un schéma d'Adams explicite (??) pour la


prédiction et un autre implicite (??) pour la correction.

25
5 EXERCICES CORRIGÉS

Exercice 4.2 On pose f rns  f ptn , y rns q. La méthode de Adams-Bashforth


d'ordre 4 explicite est donnée par
h 
y rn 1 s  y rns 55ff rns  59ff rn1s 37ff rn2s  9ff rn3s
24
et la méthode de Adams-Moulton d'ordre 4 implicite par
h  rn s

y rn s  y rns
1
9ff 1
19ff rns  5ff rn1s f rn2s
24
avec f rns  f ptn , y rns q.
Q. 1 Ecrire la fonction algorithmique REDPreCor4Vec permettant de
résoudre un problème de Cauchy (vectoriel) par une méthode de prédiction-
correction utilisant ces deux schémas.

Remarque 4.7 1. La stabilité du prédicteur intervient peu.


2. Le choix du pas dans ces méthodes est un problème dicile.

4.5.3 Comparaison avec Runge-Kutta


L'intérêt d'une méthode de résolution numérique d'équations diéren-
tielles se mesure principalement suivant deux critères :
 son coût pour obtenir une précision donnée (c'est à dire le nombre
d'évaluations de fonctions par étapes).
 sa stabilité.
La caractéristique des méthodes de Runge-Kutta est que le pas est assez
facile à adapter, la mise en oeuvre informatique plus aisée. Mais pour des mé-
thodes du même ordre de consistance, les méthodes de Runge-Kutta exigent
plus d'évaluations de fonctions. Quand on sait que la solution de l'équa-
tion n'est pas sujette à de brusques variations de la dérivée, on prendra une
méthode de type prédicteur-correcteur mais, si le pas doit être adapté plus
précisément, on préfèrera une méthode de Runge-Kutta.

5 Exercices corrigés

Exercice 1

Q. 1 Soit y P C 2 pra, bsq.


1. Montrer qu'il existe ηPn Pstn, tn 1r et ηRn Pstn1, tnr tels que
pDyqPn  yp1qptnq h p2q n
2
y pη P q
et
pDyqRn  yp1qptnq  h2 yp2qpηRn q

26
5 EXERCICES CORRIGÉS

2. En déduire que

|yp1qptnq  pDyqPn | ¤ Ch, avec C 


1
max
2 tPrtn ,tn 1 s
|yp2qptq|
et
|y1ptnq  pDyqRn | ¤ Dh, avec D 
1
max |y p2q ptq|
2 tPrtn1 ,tn s

Q. 2 Soit y P C 3 pra, bsq.


1. Montrer qu'il existe η1n Pstn , tn 1 r et η2n Pstn1, tnr tels que
pDyqCn  yp1qptnq  h12 pyp3qpη1nq y p3q pη2n qq
2

2. En déduire que

|yp1qptnq  pDyqCn | ¤ Eh2, avec E 


1
max
6 tPrtn1 ,tn 1 s
|yp3qptq|

Correction
Q. 1 1. Soit n P v0, N  1w, on a
pDyqPn  ypt qh ypt q .
n 1 n

D'après la formule de Taylor, il existe ηPn P rtn, tn 1s tel que


hy p1q ptn q
h2 p2q n
y ptn 1
q  yptnq y pη P q (5.1)
2!
d'où
pDyqPn  ypt qh ypt q  yp1qptnq h p2q n
n 1 n
y pη P q . (5.2)
2!
On a
n1
pDyqRn  ypt q hypt q .
n

D'après la formule de Taylor, il existe ηR n P rtn1 , tn s tels que

y ptn1 q  y ptn q  hy p1q ptn q


phq2 yp2qpηn q (5.3)
R
2!
d'où
n1
pDyqRn  ypt q hypt q  yp1qptnq  h2 yp2qpηRn q
n
(5.4)

27
5 EXERCICES CORRIGÉS

2. Soit n P v0, N  1w, comme ηPn P rtn, tn 1s on a


|yp2qpηPn q| ¤ tPrtmax
,t s
|yp2qptq|
n n 1

d'où, en utilisant (5.2),

|pDyqPn  yp1qptnq|  h2 |yp2qpηPn q| ¤ h2 tPrtmax


,t s
|yp2qptq|.
n n 1

De même, comme ηR
n P rtn1, tns on a
|yp2qpηRn q| ¤ tPrtmax
 ,t s
n 1 nn
|yp2qptq|
d'où, en utilisant (5.4),

|pDyqRn  yp1qptnq|  h2 |yp2qpηRn q| ¤ h2 tPrtmax


 ,t s
|yp2qptq|.
n 1 n

Q. 2 1. Soit n P v0, N  1w, on a


n 1  y ptn1 q
pDyqCn  ypt q 2h .

D'après la formule de Taylor, il existe η1n P rtn, tn 1s et η2n P rtn1, tns


tels que

hy p1q ptn q
h2 p2q n h3 p3q n
y ptn 1
q  yptnq y pt q y pη 1 q (5.5)
2! 3!
et

y ptn1 q  y ptn q  hy p1q ptn q


h2 p2q n
y pt q  y p2q pη2n q
h3
(5.6)
2! 3!

En soustrayant (5.6) à (5.5), on obtient

y ptn 1
q  yptn1q  2hyp1qptnq h3 p3q n
6
p y pη 1 q y p3q pη2n qq

d'où

y p1q ptn q 
y ptn 1 q  yptn1q  h2 pyp3qpηnq y p3q pη2n qq.
1
2h 12
2. Comme η1n P rtn, tn 1s € rtn1, tn 1s, on en déduit que
|yp3qpη1nq| ¤ tPrt max
 ,t s
|yp3qptq|.
n 1 n 1

De même, comme η2n P rtn1, tns € rtn1, tn 1s on a


|yp3qpη2nq| ¤ tPrt max
 ,t s
|yp3qptq|.
n 1 n 1

28
5 EXERCICES CORRIGÉS

Exercice 2
On veut résoudre numériquement le problème pP q suivant : trouver y
telle que " 1
pP q yypp0tqq  cos
0.
ptq 1, @t P r0, 4πs
dont la solution exacte est y ptq  sinptq t.
On rappelle le schéma d'Euler progressif pour la résolution d'un problème
de Cauchy " rn 1s rns n rns
pS q yyr0s  ydonné.hf pt , y q,

Q. 1 Expliquer en détail comment utiliser le schéma d'Euler progressif pour


résoudre le problème pP q en précisant entre autres les données, les inconnues,
les dimensions des variables, lien entre yrns et la fonction y, ...

Q. 2 (algorithmique) Soit a, b, a   b deux réels. Ecrire une fonction Dis-


Reg retournant une discrétisation de l'intervalle ra; bs avec N pas (constant)
de discrétisation.

Q. 3 (algorithmique) Ecrire une fonction REDEP retournant l'ensemble


des couples ptn , yrns q calculés par le schéma d'Euler progressif.

Q. 4 (algorithmique) Ecrire un algorithme complet de résolution de pP q


par le schéma d'Euler progressif.

Correction
Q. 1 On commence par écrire le problème de cauchy associé à pP q :
" 1
y ptq  f pt, yptqq, @t P rt0, t0 T s
pPC q y pt0 q  y0 P R.

avec t0  0, T  4π, y0  0 et

f : rt0 , t0 T s  R ÝÑ R
pt, zq ÞÝÑ cosptq 1 .
Les données du problème de Cauchy sont donc les réels t0 , T, y0 et la fonction
f. L'inconnue est la fonction y : rt0 , t0 T s ÝÑ R.
Pour résoudre numériquement le problème de Cauchy, on utilise le schéma
pS q où les données sont celles du problème de Cauchy plus le nombre de
discrétisations N P N On peux alors calculer

29
5 EXERCICES CORRIGÉS

tn , n P v0, N w qui sont les points de la discrétisation régulière à N


intervalles :

tn  t0 nh, @n P v0, N w, avec h 


T
N
.

y rns , n P v0, N w déterminés par le schéma pS q. On a y r0s  y0, puis on


calcule

y rn 1s  yrns hf ptn , y rns q, pour i  0 à N 1


Q. 2 Une discrétisation régulière de l'intervalle ra, bs avec N pas (constant)
de discrétisation est donnée par
ba
tn a nh, @n P v0, N w, avec h 
N
.

Algorithme 1 Fonction DisReg retournant une discrétisation régulière de


l'intervalle ra, bs
Données : a, b : deux réels, a   b
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN 1

1: Fonction t Ð DisReg( a, b, N )
2: h Ð pb  aq{N
3: Pour n Ð 0 à N faire
4: t pn 1q Ð a n  h
5: Fin Pour
6: Fin Fonction

Q. 3 L'algorithme de la fonction REDEP est :

30
5 EXERCICES CORRIGÉS

Algorithme 2 Fonction REDEP : résolution d'un problème de Cauchy


scalaire par le schéma d'Euler progressif
Données : f : f : rt0 , t0 T s  R ÝÑ R fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ¡ 0
y 0 : réel, donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y : vecteur de RN 1 , Y pnq  y rn1s , @n P v1, N 1w

1: Fonction rt , Y s Ð REDEP( f, t0 , T, y0 , N )
2: tÐ p
DisReg t0 , t0T, N q
3: h Ð pb  aq{N
4: Y p1q Ð y 0
5: Pour n Ð 1 à N faire
6: Y pn 1q Ð Y pnq h  f pt pnq, Y pnqq
7: Fin Pour
8: Fin Fonction

Q. 4 Il faut tout d'abord écrire la fonction fCauchy correspondant à la


fonction f :

Algorithme 3 Fonction fCauchy : fonction f du problème de Cauchy


associé à pP q
Données : t : un réel
z : un réel
Résultat : w : un réel

1: Fonction w Ð fCauchy( t, y )
2: w Ð cosptq 1
3: Fin Fonction

L'algorithme de résolution est :

Algorithme 4 résolution numérique du problème pP q


1: t0 Ð 0
2: T Ð 4π
3: y0 Ð 0
4: rt, Y s Ð REDEP( fCauchy, t0 , T, y 0 , 500)

31
5 EXERCICES CORRIGÉS

Exercice 3
On veut résoudre numériquement le problème du pendule pesant sans
viscosité : $ p2q
& θ ptq  Lg sinpθptqq, @t P r0, 100s
pP q % θp0q  π
θp1q p0q  1
avec g  9.81 et L  1.
On rappelle le schéma d'Euler progressif (vectoriel) pour la résolution d'un
problème de Cauchy
" rn 1s
 y rns hff ptn , y rns q,
pS q y
y r0s donné.

Q. 1 Expliquer en détail comment utiliser le schéma d'Euler progressif pour


résoudre le problème pP q en précisant entre autres les données, les inconnues,
les dimensions des variables, lien entre y rns et la fonction y , ...
On suppose par la suite le fonction DisReg retournant une discrétisation
régulière de l'intervalle ra, bs en N intervalles déjà écrite.
Q. 2 (algorithmique) Ecrire une fonction REDEPvec retournant l'en-
semble des couples ptn , y rns q calculés par le schéma d'Euler progressif.
Q. 3 (algorithmique) Ecrire un algorithme complet de résolution d pP q
par le schéma d'Euler progressif.

Correction
Q. 1 On a déjà écrit le problème de cauchy associé à pP q :
" 1
y ptq  f pt, y ptqq, @t P rt0, t0 Ts
pPC q y p q  y 0 P R2 .
t0




θptq
avec y ptq   0, T  100, y 0  π
et
θp1q ptq
, t0
1
f : rt0, t0 T s  R2 ÝÑ 
R 2

pt, z q ÞÝÑ z2
 Lg sinpz 1q
.

Les données du problème de Cauchy sont donc les réels t0 , T, le vecteur


y 0 P R2 et la fonction f . L'inconnue est la fonction y : rt0 , t0 T s ÝÑ R2 .
Pour résoudre numériquement le problème de Cauchy, on utilise le schéma
pS q où les données sont celles du problème de Cauchy plus le nombre de
discrétisations N P N On peux alors calculer

32
5 EXERCICES CORRIGÉS

tn , n P v0, N w qui sont les points de la discrétisation régulière à N


intervalles :

tn  t0 nh, @n P v0, N w, avec h 


T
N
.

y rns, n P v0, N w déterminés par le schéma pS q. On a y r0s  y 0, puis on


calcule

y rn 1s  y rns hff ptn , y rns q, pour i  0 à N 1


Q. 2 L'algorithme de la fonction REDEPvec est :

Algorithme 5 Fonction REDEPvec : résolution d'un problème de Cauchy


par le schéma d'Euler progressif
Données : f : f : rt0 , t0 T s  Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ¡ 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y : matrice réelle de dimension d  pN 1q, Y p:, nq  y rn1s , @n P v1, N 1w

1: Fonction rt , Y s Ð REDEPvec( f, t0 , T, y 0 , N )
2: t Ð DisRegpt0 , t0 T, N q
3: h Ð pb  aq{N
4: Y p:, 1q Ð y 0
5: Pour n Ð 1 à N faire
6: Y p:, n 1q Ð Y p:, nq h  f pt pnq, Y p:, nqq
7: Fin Pour
8: Fin Fonction

Q. 3 Il faut tout d'abord écrire la fonction fP correspondant à la fonction


f :

33
5 EXERCICES CORRIGÉS

Algorithme 6 Fonction fP : fonction f du problème de Cauchy associé à


pP q
Données : t : un réel
z : un vecteur de R2 ,
Résultat : w : un vecteur de R2

1: Fonction w Ð fP( t, z )
2: g Ð 9.81
3: LÐ1
4: w p1 q Ð z p2 q
5: w p2q Ð pg {Lq  sinpz p1qq
6: Fin Fonction

L'algorithme de résolution est :

Algorithme 7 résolution numérique du problème pP q


1: t0 Ð 0
2: T Ð 100 

y Ð
0 π
3:
1
4: rt, Y s Ð REDEPvec( fP, t0 , T, y 0 , 2000)
5: Plotpt , Y p1, :qq ™ Representation de pt, θptqq
6: Plotpt , Y p2, :qq ™ Representation de pt, θ1ptqq

Exercice 4
la méthode de Heun est donnée par
h n
y rn s  y rns h n rns
1
f pt , y q f t 1
, y rns hff ptn , y rns q .
2 2
Q. 1 Ecrire la fonction algorithmique permettant de ré-
REDHeunVec
soudre un problème de Cauchy (vectoriel par la méthode de Heun en utilisant
au plus 2N évaluation de f .

Correction
Q. 1 Le schéma de Heun peut s'écrire sous la forme

y rn s  y rns pk k n2 q
1 h n
2 1

34
5 EXERCICES CORRIGÉS

avec
k n1  f ptn, y rnsq
k n2  f ptn 1, y rns hkk 1 q
L'algorithme de la fonction REDEPvec s'écrit alors :

Algorithme 8 Fonction REDEPvec : résolution d'un problème de Cauchy


par le schéma de Heun
Données : f : f : rt0 , t0 T s  Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ¡ 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y : matrice réelle de dimension d  pN 1q, Y p:, nq  y rn1s , @n P v1, N 1w

1: Fonction rt , Y s Ð REDHeunVec( f, t0 , T, y 0 , N )
2: t Ð DisRegpt0 , t0 T, N q
3: h Ð pb  aq{N
4: Y p:, 1q Ð y 0
5: Pour n Ð 1 à N faire
6: k 1 Ð f pt pnq, Y p:, nqq
7: k 2 Ð f pt pn 1q, Y p:, nq hkk 1 q
8: Y p:, n 1q Ð Y p:, nq ph{2q  pk 1 k 2q
9: Fin Pour
10: Fin Fonction

Exercice 5
la méthode de Runge-Kutta d'ordre 4 est donnée par
rns
k1  f ptn , y rns q
k2
rns  f ptn h2 , y rns h2 k 1 q
rns
k3
rns  f ptn h2 , y rns h2 k 2 q
rns
k4
rns  f ptn h, y rns hkk 3 q
rns
y rn s
1  y rns h6 pk 1
rns 2kk rns 2kk rns k rns q.
h  n 1 rns
2 3 4

y rn s  y rns h n rns
1
f pt , y q f t ,y hff ptn , y rns q .
2 2
Q. 1 Ecrire la fonction algorithmique REDRK4Vec permettant de résoudre
un problème de Cauchy (vectoriel par la méthode de Runge-Kutta d'ordre 4.

35
5 EXERCICES CORRIGÉS

Correction
Q. 1 L'algorithme de la fonction REDRK4Vec s'écrit alors :

Algorithme 9 Fonction REDRK4Vec : résolution d'un problème de Cau-


chy par le schéma de RK4
Données : f : f : rt0 , t0 T s  Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ¡ 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y : matrice réelle de dimension d  pN 1q, Y p:, nq  y rn1s , @n P v1, N 1w

1: Fonction rt , Y s Ð REDRK4Vec( f, t0 , T, y 0 , N )
2: tÐ p
DisReg t0 , t0 T, N q
3: h Ð pb  aq{N
4: Y p:, 1q Ð y 0
5: Pour n Ð 1 à N faire
6: k 1 Ð f pt pnq, Y p:, nqq
7: k 2 Ð f pt pnq h{2, Y p:, nq ph{2qk 1 q
8: k 3 Ð f pt pnq h{2, Y p:, nq ph{2qk 2 q
9: k 4 Ð f pt pnq h, Y p:, nq hkk 3 q
10: Y p:, n 1q Ð Y p:, nq ph{6q  pk 1 2kk 2 2kk 3 k 4q
11: Fin Pour
12: Fin Fonction

Exercice 6
La méthode de Adam-Bashforth d'ordre 4 explicite est donnée par

y rn 1s  y rns h
24 55ff rns  59ff rn1s 37ff rn2s  9ff rn3s .

avec f rns  f ptn, y rnsq.


Q. 1 Ecrire la fonction algorithmique REDAB4Vec permettant de résoudre
un problème de Cauchy (vectoriel) par cette méthode.

Correction

36
5 EXERCICES CORRIGÉS

Q. 1 On utilise le schéma de Runge-Kutta d'ordre 4 pour initialiser les 4


premières valeurs.
L'algorithme de la fonction REDAB4Vec s'écrit alors :

Algorithme 10 Fonction REDAB4Vec : résolution d'un problème de Cau-


chy par le schéma explicite d'Adams-Bashforth d'ordre 4
Données : f : f : rt0 , t0 T s  Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ¡ 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y : matrice réelle de dimension d  pN 1q, Y p:, nq  y rn1s , @n P v1, N 1w

1: Fonction rt, Y s Ð REDAB4Vec( f, t0 , T, y 0 , N )


2: t Ð DisRegpt0 , t0 T, N q
3: h Ð pb  aq{N
4: rtini, Y inis Ð REDRK4Vecpf, t0, t0 3  h, y 0 , 3q
5: Pour n Ð 1 à 4 faire
6: Y p:, nq Ð Y ini p:, nq
7: Fin Pour
8: k1Ð f ptp3q, Y p:, 3qq
9: k2Ð f ptp2q, Y p:, 2qq
10: k3Ð f ptp1q, Y p:, 1qq
11: Pour n Ð 4 à N faire
12: k 0 Ð f pt pnq, Y p:, nqq
13: Y p:, n 1q Ð Y p:, nq ph{24qp55  k 0  59  k 1 37  k 2  9  k 3 q
14: k3 Ð k2
15: k2 Ð k1
16: k1 Ð k0
17: Fin Pour
18: Fin Fonction

Exercice 7
On pose f rns  f ptn , y rns q. La méthode de Adams-Bashforth d'ordre
4 explicite est donnée par
h 
y rn s  y rns
1
55ff rns  59ff rn1s 37ff rn2s  9ff rn3s
24

37
5 EXERCICES CORRIGÉS

et la méthode de Adams-Moulton d'ordre 4 implicite par


h  rn s

y rn s  y rns
1
9ff 1
19ff rns  5ff rn1s f rn2s
24

avec f rns  f ptn, y rnsq.


Q. 1 Ecrire la fonction algorithmique REDPreCor4Vec permettant de
résoudre un problème de Cauchy (vectoriel) par une méthode de prédiction-
correction utilisant ces deux schémas.

Correction
Q. 1 On utilise le schéma de Runge-Kutta d'ordre 4 pour initialiser les 4
premières valeurs.
Ensuite on utilise comme prédicteur le schéma explicte et comme correcteur
le schéma implicite. Le principe est donc
 Calcul à l'aide du prédicteur :
h 
ŷ rn 1 s  y rns 55ff rns  59ff rn1s 37ff rn2s  9ff rn3s
24
 Calcul à l'aide du correcteur :
rn s r sq

1
 f ptn 1 , ŷ n 1
 rn 1s
y rn 1 s  y rns h
24
ˆ
9f 19ff rns  5ff rn1s f rn2s

L'algorithme de la fonction REDPreCor4Vec s'écrit alors :

38
5 EXERCICES CORRIGÉS

Algorithme 11 Fonction REDPreCor4Vec : résolution d'un problème


de Cauchy par prédiction-correction (Adams-Bashforth/Adams-Moulton)
d'ordre 4
Données : f : f : rt0 , t0 T s  Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ¡ 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y : matrice réelle de dimension d  pN 1q, Y p:, nq  y rn1s , @n P v1, N 1w

1: Fonction rt , Y s Ð REDPreCor4Vec( f, t0 , T, y 0 , N )
2: t Ð DisRegpt0 , t0 T, N q
3: h Ð pb  aq{N
4: rtini, Y inis Ð REDRK4Vecpf, t0, t0 3  h, y 0 , 3q
5: Pour n Ð 1 à 4 faire
6: Y p:, nq Ð Y ini p:, nq
7: Fin Pour
8: k1Ð f ptp3q, Y p:, 3qq
9: k2Ð f ptp2q, Y p:, 2qq
10: k3Ð f ptp1q, Y p:, 1qq
11: Pour n Ð 4 à N faire
12: k 0 Ð f pt pnq, Y p:, nqq
13: Ŷ Ð Y p:, nq ph{24q  p55  k 0  59  k 1 37  k 2  9  k 3 q
14: F̂ Ð f pt pn 1q, Ŷ q
15: Y p:, n 1q Ð Y p:, nq ph{24q  p9  F̂ 19  k 0  5  k 1 k 2 q
16: k3 Ð k2
17: k2 Ð k1
18: k1 Ð k0
19: Fin Pour
20: Fin Fonction

39