You are on page 1of 13

M

ethodes num

eriques de r

esolution
d

equations diff

erentielles
1 Motivation
1.1 Quelques exemples de probl`emes dierentiels
Mod`ele malthusien de croissance de population
Modelisation de levolution dune population fermee
P(t) : taille de la population `a linstant t t
P

(t) : variations de la taille de la population


On suppose que les nombres de naissances et de dec`es sont proportionnels `a la taille de la population,
avec un taux de natalite et un taux de mortalite .
P

(t) = P(t) P(t) = ( )P(t)


Taille initiale de la population : P(t
0
) = P
0
Solution
P(t) = P
0
exp(( )(t t
0
)).
Mod`ele dit de croissance logistique
Ajout dun terme de competition entre les individus
_
P

(t) = aP(t) bP(t)


2
P(0) = P
0
Equation dierentielle non lineaire
Calcul de la solution par separation des variables
P

(t)
aP(t) bP(t)
2
= 1
1
aP bP
2
=
1/a
P
+
b/a
a bP
=
P

aP bP
2
=
1
a
_
P

P
+
bP

a bP
_
_
P

P
=
_
ln |P|
_
et
_
bP

a bP
=
_
ln |a bP|
_
Solution obtenue
P(t) =
aP
0
bP
0
+ (a bP
0
)e
a(tt0)
1
Pendule pesant non amorti
O
l
(t)
M
Pendule de masse m, suspendu en O
Fil (OM) non pesant et de longueur l.
(t) : position par rapport `a la position dequilibre (angle signe).
Mouvement du pendule gouverne par la
loi fondamentale de la dynamique.
Equation du mouvement :
(t) est solution du probl`eme dierentiel :
_
_
_

(t) =
g
l
sin((t))
(0) =
0
,

(0) = 0 (par exemple)


equation dierentielle dordre 2 non lineaire
Pendule pesant non amorti : transformation
(t) est solution du probl`eme dierentiel :
_

(t) =
2
sin((t))
(0) =
0
,

(0) = 0 par exemple


Posons : x(t) = (t), y(t) =

(t) et Y (t) =
_
x(t)
y(t)
_
.
On a alors
Y

(t) =
_
x

(t)
y

(t)
_
=
_

(t)

(t)
_
=
_

(t)

2
sin((t))
_
=
_
y(t)

2
sin(x(t))
_
.
Pendule pesant non amorti : transformation
Y (t) =
_
(t)

(t)
_
est solution du probl`eme dierentiel :
_
Y

(t) = F(t, Y (t))


Y (0) = Y
0
avec
F
_
t,
_
x
y
_
_
=
_
y

2
sin(x)
_
et
Y
0
=
_

0
0
_
.
2
1.2 Forme generale dune equation dierentielle
Equation dierentielle, probl`eme de Cauchy
On sinteresse aux equations dierentielles du premier ordre de la forme
y

(t) = F(t, y(t))


avec F : I R
p
R
p
(I, intervalle de R) une fonction continue.
Si p > 1, il sagit en pratique dun syst`eme dierentiel.
Le probl`eme avec condition initiale est appele probl`eme de Cauchy :
_
y

(t) = F(t, y(t))


y(t
0
) = y
0
, t
0
I, y
0
R
p
,
Notion de solution
Probl`eme de Cauchy
_
y

(t) = F(t, y(t))


y(t
0
) = y
0
, t
0
I, y
0
R
p
,
Solution
Une solution du probl`eme de Cauchy est la donnee dun intervalle

I et dune fonction C
1
(

I, R
p
)
tels que
t
0


I,

I I,

(t) = F(t, (t)) t



I,
(t
0
) = y
0
.
Remarque
On utilise souvent la meme notation pour linconnue dans lequation y et la solution , notee y...
1.3 Un resultat theorique fondamental
Le theor`eme de Cauchy-Lipschitz
Theor`eme
Considerons le probl`eme de Cauchy :
()
_
y

(t) = F(t, y(t))


y(t
0
) = y
0
, t
0
I, y
0
R
p
,
avec F : (t, y) I R
p
F(t, y) R
p
. Supposons que
F est continue sur I R
p
,
F est lipschitzienne en y, uniformement en t :
il existe L > 0 telle que
t I, y
1
, y
2
V
R
p
_
y
0
_
||F(t, y
1
) F(t, y
2
)|| L ||y
1
y
2
||.
Alors, le probl`eme de Cauchy () poss`ede une unique solution. Cette solution est denie sur un intervalle
contenant t
0
.
3
Et le calcul eectif de la solution ?
Mod`ele malthusien : OK
equa di lineaire dordre 1 `a coes constants
Mod`ele de croissance logistique : OK
equa di dordre 1, non lineaire mais `a variables separables
Pendule pesant ?
_
Y

(t) = F(t, Y (t))


Y (0) = Y
0
avec
F(t,
_
x
y
_
) =
_
y

2
sin(x)
_
,
Il sagit dun syst`eme dierentiel 2 2.
Le syst`eme est bien dordre 1... mais il est non lineaire.
Calcul numerique dune solution approchee
Pas dexpression explicite de la solution

Calcul numerique dune solution approchee


0 1 2 3 4 5 6
1.5
1
0.5
0
0.5
1
1.5
temps t


(t)
2 Mise au point de methodes numeriques et convergence
2.1 Principe
But
On suppose que le probl`eme de Cauchy
_
y

(t) = F(t, y(t))


y(t
0
) = y
0
, t
0
R, y
0
R
p
,
admet une unique solution y denie sur I = [t
0
, t
0
+ T].
4
Subdivision de lintervalle de temps
t0 t1 tn tn+1 tN = t0 +T
t
n
= t
n+1
t
n
, t = max
0nN
t
n
.
Lobjectif est de calculer des valeurs (Y
n
)
0nN
, qui soient de bonnes approximations de (y(t
n
))
0nN
.
Lien avec lintegration numerique
Integration de lequation
_
tn+1
tn
y

(t) = F(t, y(t))


y(t
n+1
) y(t
n
) =
_
tn+1
tn
F(t, y(t))dt
Approximation
y(t
n+1
) y(t
n
) Y
n+1
Y
n

_
tn+1
tn
F(t, y(t))dt Formule de quadrature :
RAG (t
n+1
t
n
)F(t
n
, y(t
n
))
RAD (t
n+1
t
n
)F(t
n+1
, y(t
n+1
))
Trap`ezes (t
n+1
t
n
)
F(t
n
, y(t
n
)) + F(t
n+1
, y(t
n+1
))
2
Methodes numeriques correspondantes
Methode dEuler explicite schema explicite
_
Y
n+1
= Y
n
+ (t
n+1
t
n
)F(t
n
, Y
n
)
Y
0
= y
0
Methode dEuler implicite schema implicite
_
Y
n+1
= Y
n
+ (t
n+1
t
n
)F(t
n+1
, Y
n+1
)
Y
0
= y
0
Methode de Crank-Nicolson schema implicite
_
Y
n+1
= Y
n
+ (t
n+1
t
n
)
F(t
n
, Y
n
) + F(t
n+1
, Y
n+1
)
2
Y
0
= y
0
5
2.2 Notion de convergence
Introduction des notions derreur locale/erreur globale
y(t) solution exacte de lequation dierentielle,
(Y
n
)
0nN
valeurs donnees par le schema numerique
y
app
reconstruction dune solution approchee ane par mx
Erreur locale e
n
= y(t
n
) Y
n
Erreur globale E(t) = max
0nN
|e
n
| (
!
: N depend de t)
Denition de la convergence
La methode numerique est dite convergente si
E(t) = max
0nN
|e
n
| 0.
t 0
6
2.3 Convergence de la methode dEuler explicite
Erreur de consistance
Probl`eme de Cauchy
_
y

(t) = F(t, y(t))


y(t
0
) = y
0
solution exacte : y
Methode dEuler explicite
_
Y
n+1
= Y
n
+ tF(t
n
, Y
n
)
Y
0
= y
0
schema numerique : (Y
n
)
Denition
Lerreur de consistance (locale) `a linstant n est denie comme lerreur commise par la solution exacte
dans le schema numerique :

n
= y(t
n+1
) y(t
n
) tF(t
n
, y(t
n
)).
Estimation de lerreur de consistance
Probl`eme de Cauchy
_
y

(t) = F(t, y(t))


y(t
0
) = y
0
Methode dEuler explicite
_
Y
n+1
= Y
n
+ tF(t
n
, Y
n
)
Y
0
= y
0
on suppose que la solution exacte verie y C
2
([t
0
, t
0
+ T]
. .
I
, R)

n
= y(t
n+1
) y(t
n
) tF(t
n
, y(t
n
))
Mais,
y(t
n+1
) = y(t
n
) + ty

(t
n
) +
t
2
2
y

(
n
)
y

(t
n
) = F(t
n
, y(t
n
))
Do` u,

n
=
t
2
2
y

(
n
).
Majoration de lerreur de consistance

n
=
t
2
2
y

(
n
).
Majoration
M
2
= sup
[t0,t0+T]
|y

(t)| = |
n
|
M
2
2
t
2
.
Remarque : lien entre y

and F
y

(t) = F(t, y(t)),


y

(t) =
F
t
(t, y(t)) +
F
y
(t, y(t))y

(t)
=
F
t
(t, y(t)) +
F
y
(t, y(t))F(t, y(t)).
7
Erreur due au schema numerique
La solution exacte et le schema numerique verient :
y(t
n+1
) = y(t
n
) + t F(t
n
, y(t
n
)) +
n
Y
n+1
= Y
n
+ t F(t
n
, Y
n
)
Alors, comme e
n
= y(t
n
) Y
n
, on obtient
e
n+1
= e
n
+ t
_
F(t
n
, y(t
n
)) F(t
n
, Y
n
)
_
+
n
.
Si F est localement lipschitzienne en y uniformement en t (hypoth`ese du thm de Cauchy-Lipschitz),
on a

F(t
n
, y(t
n
)) F(t
n
, Y
n
)

L|e
n
|
et
|e
n+1
| |e
n
|(1 + Lt) +|
n
|.
Deux lemmes intermediaires
Lemme 1
Soit (
n
)
n0
une suite positive veriant
0 n N,
n+1
a
n
+ , avec a 0 et 0.
Alors, 1 n N + 1,

n
a
n

0
+
n1

i=0
a
i
= a
n

0
+
1 a
n
1 a
Lemme 2
De plus, si a = 1 + avec > 0, comme (1 + )
n
e
n
, on a

n
e
n

0
+

(e
n
1), 1 n N + 1.
Fin de la preuve de convergence
On a, pour tout 0 n N 1
|e
n+1
| |e
n
|(1 + Lt) +|
n
|,
|e
n
|(1 + Lt) +
M
2
2
t
2
.
On applique le Lemme 2 avec = Lt et =
M
2
2
t
2
:
|e
n
| e
nLt
|e
0
| +
M
2
2L
t(e
nLt
1), 1 n N.
Mais, pour 1 n N, nt Nt = T et
|e
n
| e
LT
|e
0
| +
M
2
2
e
LT
1
L
t, 1 n N.
Ainsi, si e
0
= 0, E(t)
M
2
2
e
LT
1
L
t et
lim
t0
E(t) = 0.
8
Convergence du schema dEuler explicite
Theor`eme
Soit F C
1
(I R), t
0
, T tels que [t
0
, t
0
+ T] I, y
0
R.
On suppose quil existe L > 0 tel que
|F(t, z
1
) F(t, z
2
)| L|z
1
z
2
| t [t
0
, t
0
+ T], z
1
, z
2
R.
y est la solution exacte du probl`eme de Cauchy et (Y
n
)
0nN
la suite obtenue par le schema dEuler
explicite.
Alors, lerreur locale denie par e
n
= y(t
n
) Y
n
verie
|e
n
| e
LT
|e
0
| +
M
2
2
e
LT
1
L
t, 1 n N.
si e
0
= 0, le schema est convergent :
lim
t0
E(t) = 0 (E(t) = max
0nN
|e
n
|).
2.4 Cadre general des methodes `a un pas
Denition
On limite la presentation au cas o` u la subdivision (t
n
)
0nN
est reguli`ere :
t
n
= t
0
+ nt avec t =
T
N
.
Une methode `a un pas, pour lapproximation du probl`eme de Cauchy sur une subdivision reguli`ere,
est de la forme :
_
Y
n+1
= Y
n
+ t
F
(t
n
, Y
n
, t), 0 n N 1
Y
0
= y
0
(ou une valeur approchee y
0
de y
0
)
avec
F
: [t
0
, t
0
+ T] R
p
[0, k

] R
p
une fonction continue.
Exemple :
F
(t, Y, k) = F(t, Y ) methode dEuler explicite.
Notion de consistance
Probl`eme de Cauchy
_
y

(t) = F(t, y(t))


y(t
0
) = y
0
hyp : y C
2
Methode `a un pas
_
Y
n+1
= Y
n
+ t
F
(t
n
, Y
n
, t)
Y
0
= y
0
hypoth`ese :
F
C
1
Lerreur de consistance de la methode `a un pas est denie par

n
= y(t
n+1
) y(t
n
) t
F
(t
n
, y(t
n
), t)
La methode est dite consistante si pour toute solution du probl`eme de Cauchy on a
lim
t0
N

n=0
|
n
| = 0.
9
Consistance et ordre
La methode est dite dordre p si, pour toute solution du probl`eme de Cauchy, il existe un reel K
independant de t tel que
N

n=0
|
n
| K t
p
.
En pratique, on obtient lordre p en montrant :
|
n
| K t
p+1
0 n N.
p 1 = consistance.
Condition necessaire et susante de consistance
Developpement de
n
en puissances de t
y(t
n+1
) = y(t
n
) + ty

(t
n
) +
t
2
2
y

(
n
)
y

(t
n
) = F(t
n
, y(t
n
))

F
(t
n
, y(t
n
), t) =
F
(t
n
, y(t
n
), 0) + t

F
k
(t
n
, y(t
n
), )

n
= t
_
F(t
n
, y(t
n
))
F
(t
n
, y(t
n
), 0)
_
+t
2
_
y

(
n
)
2


F
k
(t
n
, y(t
n
), )
_
Theor`eme
Une methode `a un pas est consistante si et seulement si
(t, z) [t
0
, t
0
+ T] R
F
(t, z, 0) = F(t, z). ()
En eet, si () est satisfaite, on a
n
= O(t
2
).
Erreur due au schema numerique
La solution exacte et le schema numerique verient :
y(t
n+1
) = y(t
n
) + t
F
(t
n
, y(t
n
), t) +
n
Y
n+1
= Y
n
+ t
F
(t
n
, Y
n
, t)
Alors, comme e
n
= y(t
n
) Y
n
, on obtient :
e
n+1
= e
n
+ t
_

F
(t
n
, y(t
n
), t)
F
(t
n
, Y
n
, t)
_
+
n
.
Si on a

F
(t
n
, y(t
n
), t)
F
(t
n
, Y
n
, t)

|y(t
n
) Y
n
|,
alors
|e
n+1
| |e
n
|(1 + t) +|
n
|.
idem schema dEuler explicite
10
Stabilite dune methode `a un pas
Denition
Sil existe > 0 tel que t [t
0
, t
0
+ T], z
1
, z
2
R, k [0, k

],
|
F
(t, z
1
, k)
F
(t, z
2
, k)| |z
1
z
2
|
alors la methode `a un pas est dite stable.
Par consequent,
si la methode `a un pas est stable, on a
|e
n+1
| |e
n
|(1 + t) +|
n
|.
si elle est egalement consistante, on prouve sa convergence de la meme fa con que pour le schema dEuler
explicite.
stabilite + consistance = convergence
Ordre et vitesse de convergence
La stabilite nous donne :
|e
n+1
| |e
n
|(1 + t) +|
n
|.
Si |
n
| Kt
p+1
, on obtient grace au Lemme 2 :
|e
n
| e
T
|e
0
| + K
e
T
1

t
p
0 n N.
Si |e
0
| = 0, on a donc
E(t) Ct
p
.
la methode numerique est dautant plus precise
quelle est dordre eleve.
3 Les methodes de Runge-Kutta
Premiers exemples
Les methodes de Runge-Kutta sont des methodes `a un pas o` u la fonction F est evaluee plusieurs fois par
intervalle de la subdivision. Lobjectif est bien s ur de gagner en precision (en ordre...).
Avec la methode des trap`ezes
y(t
n+1
) y(t
n
) =
_
tn+1
tn
F(t, y(t))dt

t
2
_
F(t
n
, y(t
n
)) + F(t
n+1
, y(t
n+1
))
_
Methode de Heun
_

_
_
Y
n,1
= Y
n
Y
n,2
= Y
n
+ tF(t
n
, Y
n,1
)
Y
n+1
= Y
n
+
t
2
_
F(t
n
, Y
n,1
) + F(t
n+1
, Y
n,2
)
_
.
11
Premiers exemples
Avec les rectangles aux points milieux
y(t
n+1
) y(t
n
) =
_
tn+1
tn
F(t, y(t))dt
tF(t
n
+
t
2
, y(t
n
+
t
2
))
Methode dEuler modiee
_

_
_
_
_
Y
n,1
= Y
n
Y
n,2
= Y
n
+
t
2
F(t
n
, Y
n,1
)
Y
n+1
= Y
n
+ tF(t
n
+
t
2
, Y
n,2
).
Methodes de Runge-Kutta explicites
Forme generale
tn
tn+1
tn,i
_

_
1 i s,
_

_
t
n,i
= t
n
+ c
i
t,
Y
n,i
= Y
n
+ t
i1

j=1
a
ij
F(t
n,j
, Y
n,j
),
Y
n+1
= Y
n
+ t
s

i=1
b
i
F(t
n,i
, Y
n,i
).
Notation avec le tableau de Butcher
c
1
0 0 0
c
2
a
21
0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
s
a
s1
a
s2
0
b
1
b
2
b
s
avec
s

j=1
b
j
= 1,
s

j=1
a
ij
= c
i
, 1 i s.
Exemples
s = 1
Euler explicite
0 0
1
s = 2
Heun
0 0 0
1 1 0
1
2
1
2
Euler modie
0 0 0
1
2
1
2
0
0 1
12
Cas general ( ]0, 1])
0 0 0
0
1
1
2
1
2
Le fameux schema RK4
0 0 0 0 0
1
2
1
2
0 0 0
1
2
0
1
2
0 0
1 0 0 1 0
1
6
1
3
1
3
1
6
t
n
t
n+1
t
n,1
t
n,4
t
n,2
t
n,3
_

_
Y
n,1
= Y
n
Y
n,2
= Y
n
+
t
2
F(t
n,1
, Y
n,1
)
Y
n,3
= Y
n
+
t
2
F(t
n,2
, Y
n,2
)
Y
n,4
= Y
n
+ tF(t
n,3
, Y
n,3
)
Y
n+1
= Y
n
+
t
6
_
F(t
n,1
, Y
n,1
) + 2F(t
n,2
, Y
n,2
)+
2F(t
n,3
, Y
n,3
) + F(t
n,4
, Y
n,4
)
_
Comparaison de methodes classiques
Cas test
_
y

= 2y 4t
y(0) = 2
= y(t) = e
2t
+ 2t + 1.
Vitesse de convergence
E(t) = Ct
p
.
Euler explicite : p = 1,
Heun : p = 2,
RK4 : p = 4.
13

You might also like