266
Analyse num´ erique et ´ equations diff´ erentielles
Comme ϕ
(x) = h n b
∗
n,−1,r f
y (t n+1 , x), l’application ϕ va ˆ etre contractante (avec
une petite constante de Lipschitz) lorsque h n est assez petit. Si f (t, y) est klipschitzienne en y, il suffit que h n <
1
|b ∗
n,−1,r
|k pour avoir convergence. La solution
y n+1 est alors unique d’apr` es le th´ eor` eme du point fixe, et l’algorithme it´ eratif s’´ ecrit
F p = f (t n+1 , x p ),
x p+1 = u n + h n b n,−1,r F p .
On choisira une valeur initiale x 0 qui soit une approximation de y n+1 (la meilleure
possible !), par exemple la valeur donn´ ee par la m´ ethode d’Adams-Bashforth :
x 0 = y n + h n
0≤i≤r
b n,i,r f n−i .
On arrˆ ete l’it´ eration pour |x p+1 − x p | ≤ 10
−10 (par exemple) et on prend
y n+1 = derni` ere valeur x p+1 calcul´ ee
f n+1 = f (t n+1 , y n+1 ) (ou par ´ economie = F p )
Exemples
• r = 0 : le polynˆ ome p
∗
n,0 est le polynˆ ome de degr´ e 1 qui interpole (t n+1 , f n+1 )
et (t n , f n ), soit
p
∗
n,0 (t) = f n +
f n+1 − f n
h n
(t − t n ) ;
tn+1
tn
p
∗
n,0 (t)dt = h n
1
2
f n+1 +
1
2
f n
.
On obtient ainsi la m´ ethode dite des trap` ezes (ou m´ ethode de Crank-Nicolson) :
y n+1 = y n + h n
1
2
f n+1 +
1
2
f n )
ou encore
y n+1 −
1
2
h n f (t n+1 , y n+1 ) = y n +
1
2
h n f n .
• r = 1 : le polynˆ ome p
∗
n,1 interpole les points (t n+1 , f n+1 ), (t n , f n ), (t n−1 , f n−1 ),
d’o` u les formules
p
∗
n,1 (t) = f n+1
(t − t n )(t − t n−1 )
h n (h n + h n−1 )
−f n
(t − t n−1 )(t − t n−1 )
h n h n−1
+f n−1
(t − t n )(t − t n+1 )
h n−1 (h n + h n−1 )
,
y n+1 = y n
tn+1
tn
p
∗
n,1 (t)dt,
y n+1 = y n + h n
2h n + 3h n−1
6(h n + h n−1 )
f n+1 +
3h n−1 + h n
6h n−1
f n −
h
2
n
6h n−1 (h n + h n−1 )
f n−1
.
Précédent

- 268/345

Suivant