Académique Documents
Professionnel Documents
Culture Documents
Analyse Numerique Pour Ingenieurs
Analyse Numerique Pour Ingenieurs
Notes de Cours :
Enseignant :
Joël M. ZINSALO,
Mai 2012
Analyse numérique pour Ingénieurs
Contenu
CHAPITRE 1
ANALYSE D’ERREURS
1. Introduction
∆ x = x − x* (1)
x − x* ≤ ∆ x ⇔ x* − ∆ x ≤ x ≤ x* + ∆ x
ou on écrit parfois :
x = x* ± ∆ x (3)
Définition 2
∆ x ≤ 0 ,5 × 10 m
Exemple 1
22
Soit x = π et x* = = 3,142857
7
22
∆x = π − = 0 ,00126 ⋯ = 0 ,126.10 − 2
7
Exemple 2
∆ x = π − 3 ,1416 ≈ 0 ,73.10 − 5
∆ x ≺ 0,5.10 − 4
Enseignant : Joël M. ZINSALO /EPAC-UAC Page 4
Analyse numérique pour Ingénieurs
Remarque :
Inversement, si un nombre est donné avec n chiffres significatifs, cela signifie que
l’erreur absolue est inférieure à 0,5 fois la puissance de 10 correspondant au
dernier chiffre significatif.
3. Erreurs de troncature
f(x)
f(x pn(x
)
f(x0) p0(x)
p1(x)
x0
On se demande alors quel est le polynôme de degré n noté Pn(x) qui donne la
meilleure approximation d’une fonction f(x) donnée au voisinage de xo.
Définition
Pn = f (x ) +
x − x0
f ' ( x0 ) +
( x − x0 ) f " ( x ) + ⋯ + ( x − x 0 ) f ( n ) ( x )
2 n
0 0 0 (4)
1! 2! n!
(n)
où f ( x 0 ) est la dérivée d’ordre n de la fonction f au voisinage de xo.
Théorème
Soit f(x), une fonction dont les dérivées jusqu’à l’ordre (n+1) existent au
voisinage du point x0 . On a l’égalité suivante :
f ( x ) = Pn ( x ) + R n ( x ) (5)
où Pn(x) est le polynôme de Taylor (4) et Rn(x) est l’erreur commise et donnée
par la relation :
R (x) =
(x − x ) 0
n+ 1
f ( n+ 1 ) [ξ ( x )]
n
(n + 1)! (6)
Remarques :
Corollaire
Soit f(x), une fonction dérivable dans l’intervalle [x0 , x ] . Alors il existe ξ dans
f ( x ) = f ( x0 ) + f ' ( ξ ) ⋅ ( x − x0 )
f ( x ) − f ( x0 ) = f ' ( ξ ) ⋅ ( x − x0 ) (7)
où :
h2 h3 hn
Pn ( h ) = f ( x 0 ) + h ⋅ f ' ( x 0 ) + f " ( x0 ) + f "' ( x 0 ) + ⋅ ⋅ ⋅ + f (n)
( x0 ) (9)
2! 3! n!
donc :
h n+ 1
Rn ( h ) = f ( n+ 1 )
[ξ ( h )] (10)
( n + 1) !
Exercice :
x0 = 0 .
Solution :
1. Développement de Taylor
f (x) = e x
f ( x ) = f ' ( x ) = ⋯ = f (n ) ( x ) = e x
f (0 ) = f ' (0 ) = ⋯ = f ( n ) (0 ) = e 0 = 1
en posant x = x0 + h , il vient :
2 n
= e ≈ Pn (h) = 1 + h +
x0 + h h h
e =e
x h
+⋯+
2! n!
et le terme d' erreur
n+ 1
0 ≤ ξ ( h ) ≤ h ⇔ e 0 ≤ eξ( h) ≤ e h
1 ≤ e ξ (h) ≤ e h
donc e ξ (h) ≤ e h
h n+1 h n+1
il en résulte que : eξ( h) ≤ eh
( n + 1 )! ( n + 1 )!
h n+1
d’où : Rn ( h ) ≤ eh (11)
( n + 1 )!
En prenant h = 0 ,1 , on a :
Remarque :
P3 ( 0 ,1 ) − e 0 ,1 0 ,4245 × 10 − 5
Le rapport des erreurs absolues liées à = = 16 ,14
P3 ( 0 ,05 ) − e 0 ,05 0 , 263 × 10 − 6
f (h)
n ≤C
h
au voisinage de x0 = 0 .
Remarque :
Pour avoir une idée du comportement d’une fonction de type O ( h ) , il suffit de
n
n n
facteur approximatif de 2 . En effet, en remplaçant h par h/2 dans C h , on
obtient :
n
h C hn
C =
2 2n
Le terme d’erreur du polynôme de Taylor de degré n est généralement du type
(
O h
n+ 1
). Cela explique le rapport 16,14 obtenu dans l’exercice précédent. En
(
f ( x 0 + h ) = Pn ( h ) + O h n + 1 )
Définition :
Exercice
Solution :
f ( x ) = sin x ; f ( 0 ) = 0
f '( x ) = cos x ; f '( 0 ) = 1
f "( x ) = − sin x ; f "( 0 ) = 0
f '"( x ) = − cos x ; f '"( 0 ) = −1
f (4)
( x ) = sin x ; f (4)
(0 )= 0
f (5)
( x ) = cos x
f ( x 0 + h ) = f ( 0 + h ) = f ( h ) = sinh
3 5
sinh = h − h + h cos [ξ ( h )] pour ξ ∈ [ 0, h ]
6 120
Rn ( h )
h3
P3 ( h ) = h −
6
L’erreur est :
5
R 3 ( h ) = h cos [ξ ( h )] pour ξ ∈ [ 0, h ]
120
h5
∀ ξ (h) ∈ [ 0, h ] , on a : cosξ (h) ≤ 1 donc R 3 ( h ) ≤
120
P3 ( 0 ,2 ) − f ( 0 ,2 )
En calculant le rapport , on trouve :
P3 ( 0 ,1) − f ( 0 ,1 )
P3 (0 ,2 ) − f (0 ,2 )
= 31,97 ≈ 2
5
P3 (0 ,1) − f (0 ,1)
THEOREME
( +ℎ , +ℎ , +ℎ )
( , , ) ( , , ) ( , , )
= ( , , )+ ℎ +ℎ +ℎ
1 ( , , ) ( , , ) ( , , )
+ ℎ +ℎ +ℎ
2!
( , , ) ( , , ) ( , , )
+ ℎ ℎ +ℎ ℎ +ℎ ℎ +⋯
+( é )
Exercice
Soit la fonction de deux variables f ( x 1 , x 2 ) = x 12 + x 1 sin x 2 :
Solution :
d’écrire :
f ( 1,0 ) = 1 + 0 = 1
∂ f ( x1 , x2 )
= 2 x1 + s i n x2 ; ∂
f ( 1,0 )
= 2+0 = 2
∂ x1 ∂ x1
∂ f ( x1 , x2 )
= 0 + x1 c o s x2 ; ∂
f ( 1,0 )
= 1c o s 0 = 1
∂ x2 ∂ x2
∂ f ( x1 , x2 ) ∂ f ( 1,0 )
2 2
= 2; =2
∂ x 12 ∂ x 12
∂ f ( x1 , x2 ) ∂ f ( 1,0 )
2 2
= − x1 s i n x2 ; =0
∂ x 22 ∂ x 22
∂ f ( x1 , x2 ) ∂ ( x1 c o s x2 ) ∂ f ( 1,0 )
2 2
= = c o s x2 ; =1
∂ x 1∂ x 2 ∂ x1 ∂ x 1∂ x 2
f ( 1 + h1 ,0 + h2 ) = 1 + 2h1 + h2 + h12 + h1 h2 + . . . + ( o r d r e s s u p )
f (1 ,1 , 0 ,1) ≈ 1 + 2 × 0 ,1 + 0 ,1 + 0 ,1 + 0 ,1 × 0 ,1
2
f (1 ,1 , 0 ,1) ≈ 1 ,32
Donc :
= 8 ,37 ≈ 2
3
(1, 0).
x = x* ± ∆ x
y = y* ± ∆ y
Une quantité x inconnue est approchée par une valeur approximative x* avec une
erreur absolue ∆x. On estime la valeur inconnue f(x) par l’approximation f(x*).
L’erreur absolue liée à ce résultat est :
∆ f = f ( x ) − f ( x*)
On a de plus :
(
f ( x ) = f ( x ± ∆ x ) = f ( x* ) ± ∆ x ⋅ f ' ( x * ) + O ∆ x 2 )
En négligeant les termes d’ordre plus grand ou égal à 2, on obtient :
∆ f ≈ f ' (x*) ⋅ ∆ x
f ( x ) = f ( x *) ± f ' ( x *) ⋅ ∆ x
Exercice
On mesure un côté d’une boîte cubique qui donne l* = 10 ,2cm avec une
Solution :
l* = 10 ,2cm et ∆ l = 0 ,1cm
Posons v = f ( l ) = l 3
l' erreur absolue liéeau volume est : ∆v = f ' ( l * ) ⋅ ∆ l
v = f ( l ) = l 3 ⇒ f '( l ) = 3l 2
donc ∆v = 3( l*) 2 ⋅ ∆ l
= 3 × ( 10 ,2 ) 2 × 0 ,1
= 31,212
∆v = 0 ,31212.10 2 ≤ 0 ,5.10 2
La valeur approchée du volume est :
v* = ( l* ) = 10,2 3 = 1061,208cm 3
3
THEOREME
Exercice
V = Asin( wt −φ )
Solution
A et w sont connus exactement, donc
A = A* ⇒ ∆ A = 0
w = w* ⇒ ∆ w = 0
P a r a i l l e u r s ∆ t ≤ 0 ,5 . 1 0 − 3 ( t* = 0 ,0 0 1s )
∆ φ ≤ 0 ,5 . 1 0 − 2
∂ V ( t* ,φ * ) ∂ V ( t* ,φ * )
∆V = ∆t + ∆φ
∂t ∂φ
= A* w* c o s ( w* t * −φ * ) ∆ t + A* c o s ( w * t * −φ * ) ∆ φ
= 2 5 6 ,2 2 6 6 6 2 3 5 × 0 ,5 . 1 0 − 3 + − 8 5 ,4 0 8 8 7 4 5 × 0 ,5 . 1 0 − 2
∆V = 0 ,5 5 5 1 5 7 6 8 4
V* = A* s i n ( w* t * −φ * ) = − 5 2,0 1 2 7 3 0 7 1
1 ) ∆ ( x + y) = ∆ x + ∆ y
2 ) ∆ ( x − y) = ∆ x + ∆ y
3 ) ∆ ( x − y) = y ∆x + x ∆ y
x y ∆x + x ∆ y
4) ∆ = y2
y
y ≠0
CHAPITRE 2
RESOLUTION NUMERIQUE DES EQUATIONS NON LINEAIRES
1. Introduction
La résolution des problèmes de l’ingénieur débouche souvent sur deux types de
recherche de solutions d’une équation à une variable :
1.) recherche d’une racine de l’équation f ( x ) = 0 où est une fonction
transcendante ou numérique de x.
f (x) = 0 (1)
2.) Recherche de plusieurs ou toutes les racines de Pn ( x ) = 0 où Pn ( x ) est
f (x)
r
x1 xm x2
f ( x1 ) ⋅ f ( x 2 ) < 0 (2)
On pose :
x + x2
xm = 1
2
x1 + x 2
3. Poser : xm =
2
x 2 − x1
4. Si <ε :
2 xm
Convergence atteinte ;
Ecrire la racine xm ;
Ecrire f xm( ) ;
Arrêt.
( ) ( ) ( )
5. Ecrire x1 , x 2 , xm , f x1 , f x 2 , f x m ;
( ) ( )
6. Si f x1 ⋅ f xm < 0 alors x2 = xm ;
( ) ( )
7. Si f xm ⋅ f x 2 < 0 alors x1 = xm ;
Remarque
1. L’expression :
x 2 − x1
<ε
2 xm
x 2 − x1
2
3. Il est parfois utile d’introduire un test d’arrêt sur la valeur de f ( x ) qui doit
E {précision souhaitée}
f(x) {fonction}
Calculs :
x2 − x1
ln E
N = partie entière + 1
ln 2
y1 = f ( x1 )
pour i = 1 à N
( x1 + x2 ) ; y = f x
xm =
2 m ( m)
si y1 ym ≺ 0 alors x2 = xm
sinon x1 = xm ; y1 = ym
écrire xm
Exercice :
Solution
Calculons d’abord le nombre d’itérations nécessaires pour obtenir la
−3
précision de E = 10 .
Nous avons :
x2 − x1 2−1
ln ln −3
E 10
N = INT + 1 = INT + 1
ln 2 ln 2
= INT ( 10 ,966 ) = 10
x = 2 ⇒ x 2 − 2 = 0; f ( x ) = x 2 − 2 = 0
y1 = f ( x1 ) = f ( 1 ) = 1 − 2 = −1
y2 = f ( x2 ) = f ( 2 ) = 4 − 2 = 2
On commence les calculs itératifs
1ère itération
x + x2 1 + 2
xm = 1 = = 1,5
2 2
ym = f ( xm ) = 1,5 2 − 2 = 0 ,25
y1 ⋅ ym ≺ 0 donc on sélectionne l'intervalle x1 , xm (en prenant
x2 = xm ) et ainsi de suite.
x1 x2 xm ym
N
1 1 2 1,5 0,25
2 1 1,5 1,25 - 0,4375
3 1,25 1,5 1,375 - 10,94
4 1,375 1,5 1,4375 0,06641
5 1,375 1,4375 1,4062 - 0,02246
6 1,4062 1,4375 1,4219 0,02173
7 1,4141 1,4219 1,4141 - 0,00043
8 1,4141 1,4219 1,4180 0,01064
9 1,4141 1,4180 1,4160 0,00510
10 1,4141 1,4160 1,4150 0,00233
Exercice :
Solution
f ( 1 ) = −4 ,0; f ( 2 ) = 3,0
f ( 1 ) ⋅ f ( 2 ) = −4 × 3 = −12 ≺ 0
[
Alors, la fonction f ( x ) donnée possède un zéro dans 1, 2 . ]
Recherchons cette solution par la méthode de la bissection :
1+ 2
Le point milieu de [ 1, 2 ] est : xm = = 1,5
2
f ( xm ) = f ( 1,5 ) = −1,875
Erreur absolue
n x1 x2 xm f ( x1 ) f ( x2 ) f ( xm ) liée à xm
1
x − x1
2 2
1 1,0 2,0 1,5 -4,0 3,0 -1,875 0,5
2 1,5 2,0 1,75 -1,875 3,0 0,17187 0,25
3 1,5 1,75 1,625 -1,875 0,17187 -0,94335 0,125
4 1,625 1,75 1,6875 -0,94335 0,17187 -0,40942 0,0625
5 1,6875 1,75 1,71875 -0,40942 0,17187 -0,12478 0,03125
6 1,71875 1,75 1,734375 -0,12478 0,17187 0,022029 0,015625
7 1,71875 1,734375 1,72656 -0,12478 0,022029 -0,05175 0,007812
8 1,72656 1,734375 1,73046 -0,05175 0,022029 -0,014972 0,0039075
9 1,73046 1,734375 1,7324175 -0,014972 0,022029 0,1994533 0,0019525
10 1,73046 1,7324175 1,731438 -0,014972 0,1994533 0,190645 0,0019575
L
itération le nouvel intervalle est de longueur et après N itérations la longueur
2
de l’intervalle est :
L
2N
L
≺ ∆r
2N
L
ln
∆ r
N≻
ln 2
Il est clair que sur le plan pratique on doit prendre pour valeur de N le plus petit
entier vérifiant cette condition là.
Exercice :
Solution :
∆ r ≤ 0 ,5.10 − 2
L= 2−1=1
en appliquant
L
ln
∆ r
N≻
ln 2
il vient :
1,0
ln
0 ,5 × 10 −2
N=
ln 2
N = 7 ,64
N = 8 itérations
3.1. Principe
f( x)=0
( x* − xn )
2
f " ( xn )
( ) ( ) ( )
f x* = f ( xn ) + x* − xn f ' xn +
2
+ ⋅⋅⋅ (1)
f ( xn ) + ( x* − xn ) f ' ( xn ) ≈ 0 (2)
f (xn )
en ≈ −
f ' (xn )
(3)
!" = ! + ! (4)
f ( xn )
x n+ 1 = x n − ; n=0,1, ⋅ ⋅⋅ ,nmax
f ' ( xn )
formule de Newton-Raphson
3.2. Algorithme
4. Effectuer :
f ( xn )
xn + 1 = xn −
f ' ( xn )
x n + 1 − xn
5. Si ≺ε :
xn + 1
convergence atteinte ;
écrire la solution xn+ 1 ;
arrêt.
6. Si le nombre maximal d’itérations N est atteint :
convergence non atteinte en N itérations ;
arrêt.
7. Retour à l’étape 4.
f ( x0 )
f ( x1 )
x1 x0
( x0 , f ( x0 ) ) .
La tangente à (C) au point ( x0 , f ( x0 ) ) a pour pente f ' ( x0 ) et pour équation ce
qui suit :
f ( x0 )
f ( x0 ) = ( x0 − x1 ) ⋅ f ' ( x0 ) ⇒ x1 = x0 −
f ' ( x0 )
f ( x1 )
M 1 ( x1 , f ( x1 ) ) : f ( x1 ) = ( x1 − x 2 ) ⋅ f ' ( x 1 ) ⇒ x 2 = x1 −
f ' ( x1 )
f ( x2 )
M 2 ( x2 , f ( x2 ) ) : f ( x2 ) = ( x2 − x3 ) ⋅ f ' ( x2 ) ⇒ x3 = x2 −
f ' ( x2 )
. . .
. . .
f ( xn )
( xn , f ( xn )) : f ( xn ) = ( xn + 1 − xn ) f ' ( xn ) ⇒ xn + 1 = xn −
f ' ( xn )
f ( xn )
On a : xn+1 = xn − (5)
f ' ( xn )
THEOREME
∀x ∈ [ a ,b ] , f '( x ) ≠ 0
∀x ∈ [ a ,b ] , f ''( x ) ≠ 0
Remarque
Le choix du point de départ dans cette méthode est crucial. Pour assurer la
convergence, on choisira un point x0 tel que la condition
f " ( x 0 ) ⋅ f ( x0 ) > 0
soit vérifiée.
f ( en )
en+ 1 = en + (6)
f ' ( en )
f ( x* ) = f ( x n ) + ( x* − xn ) ⋅ f ' ( x n )
=0
f ( x* ) = f ( xn ) + en ⋅ f ' ( xn )
f ( x* ) = f ( xn ) + ( x* − xn ) ⋅ f ' ( xn ) +
( x* − xn )2
f " ( xn )
2
=0
en2
f ( x ) = f ( x n ) + en f ' ( x n ) + f '' ( a ) = 0 avec a ∈ xn , x
* 2 *
f ( xn ) en2 f '' ( a )
⇒ = − en −
f ' ( xn ) 2 f ' ( xn )
(6) devient :
f ( en )
e n + 1 − en =
f ' ( en )
en2 f " ( a )
donc en + 1 − en = − e n −
2 f ' ( en )
en2 f "( a )
en + 1 = −
2 f ' ( xn )
e n+ 1 1 f " (a )
Si f "( x ) ≠ 0 alors = lim − =0
2 f ' (xn )
lim
n→ +∞ e n2 n→ +∞
Il en résulte que la méthode est d’ordre 2. On dit encore qu’elle a une convergence
quadratique.
ALGORITHME PRATIQUE
Calculs : n fixé
Pour i = 1 à n , on a :
f ( x)
x
m = x −
f ' ( x)
écrire i, xm
si x − x ≺ ε , on arrête les calculs
m
sinon x = xm
ORGANIGRAMME :
x , ε , f ( x ), f '( x )
n = 50
Pour i = 1 à n
xn+ 1 = xn −
f ( xn )
f ' ( xn )
Ecrire i, xm
x − xm ≺ ε
x = xm
FIN
Exercice 1
−x
Résoudre l’équation f ( x ) = e − x = 0 par la méthode de Newton-Raphson,
sachant que x0 = 0 est la valeur initiale de la solution.
Solution
f ( x ) = e − x − x = 0 ; f '( x ) = − e − x − 1
L’algorithme se résume à :
f ( xn ) e − xn − xn
xn + 1 = xn − = xn − − x
f ' ( xn ) − e n − xn
e − x0 − x0
n = 1, x1 = x0 −
− e − x0 − x0
e − x0 − x0
L’erreur absolue est : e0 = x1 − x0 =
1 + e − x0
en+ 1
n xn en en
0 0,0 0,5671.100 0,1183.100
1 0,500 0,6714.10-1 0,1239.10-1
2 0,5 663 110 0,8323.10-3 0,1501.10-3
3 0,5 671 432 0,1250.10-6 ≈0
4 0,5 671 433 0,4097.10-9 -
Solution
f ( xn ) = xn2 − 2 f ' ( xn ) = 2 xn f ( xn )
xn + 1 = xn −
N xn f ' ( xn )
1 1 -1 2 1,5
2 1,5 0,25 3 1,416667
3 1,416667 6,9444418.10-3 2,833333 1,414216
4 1,414216 5,960465.10-6 2,828431 1,414214
5 1,4144214 ≈0 2,818427 1,414214
( )
La convergence est atteinte à n = 5 , f x n ≈ 0 la précision est ε = 10 −6 donc au
4. Méthode de la sécante
f ( x n ) − f ( xn − 1 )
f ' ( xn ) ≈
x n − xn − 1
f ( x0 )
f ( x1 )
r
x0 x2
x1
Algorithme
4. Effectuer :
f ( xn ) ( xn − xn − 1 )
x n + 1 = xn −
f ( xn ) − f ( xn − 1 )
xn + 1 − xn
5. Si <ε
xn + 1
Convergence atteinte ;
Ecrire la solution xn + 1 ;
Arrêt.
6. Si le nombre maximal d’itérations N est atteint :
Remarques
( )
1. La dérivée f ' xn n’apparaît plus dans l’algorithme.
1+ 5
1 ,618033...
e n+ 1 ≈ C e n 2 = C en
−x
Exercice I : Résoudre par la méthode de la sécante l’équation e −x=0
sachant que les deux valeurs initiales de la solution sont x 0 = 0 et x 1 = 1 .
Algorithme simplifié
Donnée : x1 , x 2 , e , f ( x )
Calculs de N
y1 = f ( x1 ) ; y 2 = f ( x 2 )
Pour i = 1 à N
y 2 ( x 2 − x1 )
x3 = x2 − ( y − y )
2 1
écrire i , x
3
si x 3 − x 2 < ε , on arrête les calculs
sinon x = x ; x = x ;
1 2 2 3
y1 = y 2 ; y 2 = f ( x 3 )
CHAPITRE 3
Introduction
Dans la pratique scientifique, l’ingénieur se trouve souvent confronter à des
problèmes dont la résolution passe souvent par celle d’un système d’équations
qui modélisent divers éléments en ingénierie. On distingue deux principales
méthodes. Les méthodes directes et les méthodes itératives. Dans ce chap., nous
verrons les principales méthodes directes utilisées pour la résolution de tels
systèmes d’équations.
Systèmes linéaires
De façon générale, la résolution d’un système d’équations linéaires consiste à
x1
x2 T
trouver un vecteur x = x 3 ou x = x1 x2 x 3 ⋯ xn (T signifiant transposée)
⋮
xn
solution de :
On utilisera la notation matricielle qui est beaucoup plus pratique et surtout plus
compacte. Alors on écrit le système précédent sous la forme :
Ax = b (2)
où :
Remarque 1
Dans la plupart des cas, on traitera des matrices non singulières ou inversibles c
à d les matrices dont les matrices inverses existent. Ainsi la solution de l’équation
(2) s’écrit comme suit :
x = A −1 b
Le calcul de la matrice inverse A−1 sera l’objet des principales méthodes que nous
allons exposer dans ce chapitre.
2 x1 + 3 x2 = 8
3 x1 + 4 x 2 = 11
Solution
8 − 3 x2
x1 =
2
8 − 3 x2 9
3 + 4 x2 = 11 ⇔ 12 − 2 x2 + 4 x2 = 12 − 0 ,5 x2 = 11
2
⇒ x2 = 2
⇒ x1 = 1
Remarque 2 :
1. Systèmes diagonaux
D’abord on a les systèmes diagonaux dont la matrice A n’a de coefficients non
nuls que sur la diagonale et ils sont très faciles à résoudre.
1 0 0 x1 2
Exercice 2 : résoudre le système suivant : 0 2 0 x2 = 2
0 0 3 x3 9
Solution
1.x1 = 2 x1 = 2
2.x2 = 2 ⇒ x2 = 1
3.x3 = 9 x3 = 3
On voit tout de suite comment résoudre le cas général. La solution générale qui
en découle est :
bi
xi = pour i = 1,2, ⋅⋅ ⋅ ,n
aii
2. Systèmes triangulaires
Le second type de système simple est le système triangulaire inférieur ou
supérieur.
Définition 1 :
Une matrice est dite triangulaire inférieure (ou supérieure) si tous les aij (ou tous
les a ji ) sont nuls pour i ≺ j . Une matrice triangulaire inférieure à la forme type
suivante :
a11 0 0 0 ⋯ 0
a21 a22 0 0 ⋯ 0
a31 a32 a33 0 ⋯ 0
⋮ ⋮ ⋮ ⋮ ⋱ ⋮
a a a ⋯ an− 1 n-1 0
an− 1 1 an− 1 2 an− 1 3 ⋯ an n-1 ann
n1 n2 n3
3 0 0 x1 9
1 2 0 x2 = 7
3 2 1 x3 14
Solution :
En se rappelant (2), on a :
b
a11 x1 = b1 ⇔ 3 x1 = 9 ⇒ x1 = a 1 = 9 = 3
11 3
ligne suivante :
b2 − a 21 ⋅ x1 7 − 1 × 3
x2 = = =2
a22 2
b3 − a31 x1 − a32 x2 14 − 3 × 3 − 2 × 2
x3 = a33 = =1
1
Conclusion :
De l’exemple précédent (ex. 3), on peut rapidement déduire le cas général pour la
descente triangulaire :
b1
x1 =
a11
(3)
i −1
bi − ∑ aik xk
xi = i
k =1 pour i = 1,2,⋅ ⋅ ⋅ ,n
aii
bn
xn =
ann
(4)
n
bi − ∑ aik xk
xi = k=i+1 pour i = n − 1,n − 2,⋅ ⋅ ⋅ ,2,1
aii
Remarque 3 :
Les équations (3) et (4) sont valables si les aii sont tous non nuls. Dans le cas
contraire la matrice n’est pas inversible et donc le système A x = b n’a pas une
solution unique. En effet, on rappelle que le déterminant d’une matrice
triangulaire est tel que :
n
détAtriangulaire = Π aii (5)
i =1
Conclusion
Les matrices triangulaires sont primordiales pour la résolution des systèmes
linéaires. Dans la suite de ce chap. consacré aux méthodes directes, on essaiera
de ramener un système linéaire quelconque à un ou plusieurs systèmes
triangulaires.
Méthodes directes
Définition
Une méthode de résolution d’un système linéaire est dite directe si la solution du
système peut être obtenue par cette méthode en un nombre fini et prédéterminé
d’opérations. Les deux principales méthodes directes sont :
la méthode d’élimination de Gauss ;
la méthode de la décomposition L U.
En fait, il s’agit d’une seule et même méthode puisque la première est un cas
particulier de la deuxième. La stratégie de résolution est basée sur la question
suivante : quelles opérations sont permises sur les lignes du système (1) pour le
ramener à un système triangulaire ?
WAx = W b
multiple de la ligne j.
Ces trois opérations élémentaires sont permises car elles équivalent à multiplier
le système (6) par une matrice inversible.
tous les éléments diagonaux sont égaux à 1 sauf l’élément aii qui vaut λ ( aii = λ ) .
ie
1 colonne
1
⋱
W =M=
ie
1
λ
1 ligne
aii
Remarques 4 :
l i par λ −1 l i
(
M − 1 l i ← λ −1 l i )
c à d qu’on doit avoir ce qui suit :
( ) (
M − 1 l i ← λ −1 l i = M l i ← ( 1 λ ) l i ) (7)
Exercice
Etant donné le système suivant :
3 1 2 x1 6
6 4 1 x2 = 11 (8)
5 4 1 x3 10
facteur 3.
Solution
Ceci revient à multiplier le système par la matrice suivante :
2e
1 0ligne
0
( )
M l 2 ← 3l 2 = 0 3 0 2e
0 0 1 ligne
On obtient ceci :
1 0 0 3 1 2 x1 1 0 0 6
0 3 0 6 4 1 x = 0 3 0 11
2
0 0 1 5 4 1 x3 0 0 1 10
W A x W b
3 1 2 x1 6
18 12 3 x = 33
2
5 4 1 x 3 10
est 3.
(
W = P li ↔ l j )
qui contient des 1 sur la diagonale sauf à la ligne i où le ‘’1’’ est dans la colonne j
et à la ligne j où le ‘’1’’ est dans la colonne i, tous les autres termes sont nuls.
ie jecolonne
colonne
1
1
⋱
ie
1
0 1
ligne
(
W = P li ↔ l j )
=
1
⋱
jeligne
1
1 0
1
⋱
1
1 0 0
(
P l2 ↔ l3 ) = 0 0 1
0 1 0
1 0 0 3 1 2 x1 1 0 0 6
0 0 1 6 4 1 x = 0 0 1 11
2
0 1 0 5 4 1 x3 0 1 0 10
Ce qui donne :
3 1 2 x1 6
5 4 1 x = 10
2
6 4 1 x3 11
Remarques :
(
1. L’inverse de la matrice P l i ↔ l j ) (
est donc la matrice P l i ↔ l j ) elle-
même
( )
c à d que nous avons : P l i ↔ l j = P −1 l i ↔ l j ( )
2. On montre facilement que :
( )
dét P l i ↔ l j = − 1
3. (
Opération l i ← l i + λ l j )
Cette opération est équivalente à la multiplication du système de départ par une
matrice inversible W telle que :
(
W = T li ← li + λl j )
qui vaut 1 sur toute la diagonale et 0 partout ailleurs sauf le terme aij qui vaut λ
(a ij =λ )
Colonne j
1
1
1
1
W = ⋱
λ 1 Ligne i
⋱
1
1
aij
Exercice :
En considérant le système précédant, remplacer la 2e ligne ( i = 2 ) par la 2e
ligne moins 2 fois la 1ère ligne ( j = 1) .
Solution :
(
W = T l 2 ← l 2 − 2l 1 ) i = 2, j = 1
1 0 0
W = −2 1 0
0 0 1
1 0 0 3 1 2 x1 1 0 0 6
−2 1 0 6 4 1 x = −2 1 0 11
2
0 0 1 5 4 1 x 3 0 0 1 10
On trouve :
3 1 2 x1 6
0 2 − 3 x = −1
2
5 4 1 x 3 10
Remarques
( ) (
T −1 l i ← l i + λ l j = T l i ← l i − λ l j ) (10)
cela signifie que pour revenir en arrière, il suffit de soustraire la ligne que l’on
vient d’ajouter.
Ax = b
A=
Définition
à-dire :
Enseignant : Joël M. ZINSALO /EPAC-UAC Page 50
Analyse numérique pour Ingénieurs
a 11 a 12 ⋯ ⋯ a 1n b1
a a 22 ⋯ ⋯ a2 n b2
21
a 31 a 32 a 33 ⋯ a3n b3
A b
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ou (11)
a n 1 an 2 an3 ⋯ a nn bn
La notation (11) est très utile puisque les opérations élémentaires doivent être
2 1 2 x1 10
6 4 0 x = 26
2
8 5 1 x3 35
pivot
2 1 2 10
6 4 0 26 (
T1 l 2 ← l 2 − ( 6 2 ) l1 )
8 5 1 35 T2 (l 3 ← l 3 − (8 2 ) l1 )
Ligne 1 T 1 (l 2 ← l 2 − (6 2 ) l1 )
(
T2 l 3 ← l 3 − ( 8 2 ) l1 )
On a indiqué ci-dessous la matrice augmentée de même que les opérations
Ligne
élémentaires pour éliminer les3 termes non nuls sous la diagonale de la 1ère
colonne. Il est à noter que l’on divise par 2 ( a11 ) le coefficient qui multiplie la ligne
1 : on dit que 2 est le pivot. On obtient en effectuant les opérations indiquées les
résultats suivants :
2 1 2 10
0 1 −6 −4
0 1 −7 −5 T3 ( l 3 ← l 3 − ( 1 1 ) l 2 )
ce qui suit :
2 1 2 10
0 1 −6 −4
0 0 −1 −1
(12)
−1
− x 3 = −1 ⇒ x 3 = =1
−1
−4 − ( −6 )( 1 )
x 2 − 6 x 3 = −4 ⇒ x 2 = =2
1
10 − ( 1 )( 2 ) − 2( 1 )
2 x1 + x2 + 2 x3 = 10 ⇒ x1 = =3
2
U = T3 T2 T1 A
où les matrices Ti équivalent aux différentes opérations effectuées sur les lignes
2 1 2 1 0 0 1 0 0 1 0 0 2 1 2
0 1 −6 = 0 1 0 0 1 0 −3 1 0 6 4 0
0 0 −1 0 −1 1 −4 0 1 0 0 1 8 5 1
U T3 T2 T1 A
2 1 2 1 0 0 1 0 0 1 0 0 2 1 2
6 4 0 = 3 1 0 0 1 0 0 1 0 0 1 −6
8 5 1 0 0 1 4 0 1 0 1 1 0 0 −1
A L U
1 0 0
A = 3 1 0 U
4 1 1
L
Remarques
détA = ( 1 )( 1 )( 1 )( 2 )( 1 )( −1 )
= −2
détA = détT1−1détT2−1détT3−1détU
5. Décomposition L ⋅ U
A x = b ⇔ L⋅U x = b
L y=b
et ensuite (13)
U x= y
Notons que la décomposition L ⋅ U n’est pas unique. Pour illustrer la non unicité
de la décomposition L ⋅ U , voyons l’exemple suivant :
2 −1 −1 2 0 0 1 −0 ,5 −0 ,5
0 −4 2 = 0 −4 0 0 1 −0 ,5
6 −3 1 6 0 4 0 0 1
1 0 0 2 −1 −1
= 0 1 0 0 −4 2
3 0 1 0 0 4
Remarque
On obtient immédiatement :
l11 = a11
l 21 = a 21
l 31 = a 31
l 41 = a41
On obtient :
a12
l11 u12 = a12 ⇒ u12 =
l11
a13
l11 u13 = a13 ⇒ u13 = si l11 ≠ 0
l11
a14
l11 u14 = a14 ⇒ u14 =
l11
a23 − l 21 u13
l 21 u13 + l 22 u23 = a23 ⇒ u23 =
l 22
a24 − l 21 u14
l 21 u14 + l 22 u24 = a24 ⇒ u24 =
l 22
On a :
l 31 u13 + l 32 u 23 + l 33 = a 33 ⇒ l 33 = a 33 − l 31 u13 − l 32 u 23
l41 u13 + l42 u 23 + l43 = a 33 ⇒ l43 = a43 − l41 u13 − l42 u 23
On a :
On a :
l41 u14 + l42 u24 + l43 u34 + l44 = a44 ⇒ l44 = a44 − l41 u14 − l42 u24 − l43 u34
• 1ère ligne de U :
a1i
u1i = pour i = 2,3, ...,n (15)
l11
• Pour i = 2, 3, 4 , ..., n − 1
Calcul du pivot :
i −1
lii = aii − ∑ lik uki (16)
k =1
Pour j = i + 1, i + 2 , ..., n :
Calcul de la ie colonne de L :
i-1
l ji = a ji − ∑ l jk uki (17)
k =1
Calcul de la ie ligne de U
i-1
aij − ∑ lik ukj
k =1
uij = (18)
lii
• Calcul de
n-1
lnn : lnn = ann − ∑ lnk ukn (19)
k =1
b1
y1 =
l11
i-1
bi − ∑ lik yk
k =1
Pour i = 2, 3, 4 , ..., n : yi =
lii
i-1
bi − ∑ lik yk
k =1
i = 2, 3, 4 , ..., n : yi = (20)
lii
xn = yn
n
Pour i = ( n − 1 ), ( n − 2 ), ..., 1 : xi = yi − ∑ uik xk
k = 1+ 1
n
i = ( n − 1 ), ( n − 2 ), ..., 1 : xi = yi − ∑ uik xk (21)
k = 1+ 1
Remarques :
nuls. Ce n’est pas toujours le cas et il est possible qu’il faille permuter deux
lignes pour éviter cette situation tout comme pour l’élimination de Gauss. Les
coefficients l ii sont encore appelés pivots.
2. Une fois utilisés, les coefficients de la matrice A ne servent plus à rien. Ils
peuvent être détruits au fur et à mesure que la décomposition progresse. De ce
fait, on peut les remplacer par les valeurs l ij ou uij selon le cas. C’est ce que
Définition
La notation compacte de la décomposition L ⋅ U est la matrice de coefficients :
Exercice
Décomposer en un produit L ⋅ U le système d’équation linéaire suivant :
3 −1 2 x1 12
1
2 3 x 2 = 11
2 − 2 − 1 x 3 2
et le résoudre.
Solution
1) 1ère colonne de L
C’est tout simplement la 1ère colonne de A
3 −1 2
1 2 3
2 − 2 − 1
2) 1ère ligne de U
Le pivot de la 1ère ligne est 3. On divise donc la 1ère colonne de A par 3
3 −1 / 3 2 3
1 2 3
2 −2 − 1
3) 2e colonne de L
Pour trouver la 2e colonne de L, on a dans l’algorithme la relation (17)
−1 7
l 22 = a 22 − l 21 u12 = 2 − ( 1) =
3 3
−1 4
l 32 = a 32 − l 31 u12 = − 2 − ( 3 ) =−
3 3
3 −1 / 3 2 3
1 7 3 3
2 − 4 3 − 1
4) 2e ligne de U
(18) donne :
a 23 − l 21 u13 3 − 1( 2 / 3 )
u23 = = =1
l 22 7/3
3 −1 / 3 2 3
1 7 3 1
2 −4 3
Enseignant : Joël M. ZINSALO/EPAC-UAC− 1 Page 60
Analyse numérique pour Ingénieurs
5) Calcul de l33
l 33 = a 33 − l 31 u13 − l 32 u23
De (19)
= − 1 − 2( 2 / 3 ) − ( − 4 / 3 )( 1 ) = − 1
3 −1 / 3 2 3
1 7 3 1
2 − 4 3 − 1
3 0 0 1 −1 3 2 3
A = 1 7 3 0 0
1 0
2 − 4 3 − 1 0 0 1
L U
6) Résoudre L y = b
b1 12
y1 = = =4
l 11 3
b2 − l 21 y1 11 − 1( 4 )
y2 = = =3
l 22 7 3
b3 − l 31 y1 − l 32 y 2 2 − 2( 4 ) − ( − 4 / 3 )( 3 )
y3 = = =2
l 33 −1
y = [4 3 2]
T
7) Résolution de U x = y
x3 = 2
x 2 = y 2 − u23 x 3 = 3 − 1( 2 ) = 1
x 1 = y1 − u12 x 2 − u13 x 3
= 1 − ( 1 / 3 )( 1 ) − ( 2 / 3 )( 2 ) = 3
3
x = 1 est la solution recherchée
2
Remarque
Solution :
0 2 1
Soit A = 1 0 0 la matrice de départ et le vecteur de permutation
3 0 1
O = [1 2 3]
T
indiquant que la numérotation des équations n’est pas encore
modifiée.
1. 1ère colonne de L
Puisqu’il s’agit de la 1ère colonne de A, on a :
pivo 0 2 1 1
t
1 0 0
O = 2
3 0 1 3
et
( )
On effectue l’opération l 1 ↔ l 3 . On aurait tout aussi bien pu permuter la
ligne 1 et la ligne 2 mais on choisit immédiatement le plus grand pivot
possible en valeur absolue. Ainsi, le vecteur de permutation O est alors
modifié. On a :
pivot 3 0 1 3
1 0 0 O = 2
0 2 1 1
2. 1ère ligne de U
Ici, il suffit de diviser cette ligne par le nouveau pivot 3
3 0 1 3 3
1 0 0
O = 2
0 2 1 1
3. 2e colonne de L
l 22 = a 22 − l 21 u12 = 0 − 1( 0 ) = 0
De (17) on tire
l 32 = a 32 − l 31 u12 = 2 − 0 ( 1 ) = 2
Maintenant :
3 0 1 3 3
1 0 0 O = 2
0 2 1 1
3 0 1 3 3
0 2 1 O = 1
1 0 0 2
4. Calcul de u23
a 23 − l 21 u13 1 − 0( 1 / 3 ) 1
De (18) u 23 = = =
l 22 2 2
3 0 1 3 3
0 2 1 2 O = 1
1 0 0 2
5. Calcul de l33
l 33 = a 33 − l 31 u13 − l 32 u 23
= 0 − 1( 1 / 3 ) − 0 ( 1 / 2 ) = −1 / 3
3 0 1 3 3
0 2 1 2 O = 1
1 0 − 1 3 2
Remarquons que :
3 0 0 1 0 1 3 3 0 1
0 2 0 0 1 1 2 = 0 2 1
1 0 − 1 3 0 0 1 1 0 0
L U A perturbée suivant O
− 2 3 0 0 y 1 − 2
L y = 5 ⇔ 0 2 0 y 2 = 5
− 1 1 0 − 1 3 y 3 − 1
y = [− 2 3 5 2 1]
T
La descente triangulaire donne :
On résout ensuite :
1 0 1 3 x 1 − 2 3
U x = y ⇔ 0 1 1 2 x 2 = 5 2
0 0 1 x 3 1
x = [− 1 2 1]T
Remarque
détA = ( −1 )( −1 ) ( 3 )( 2 )( − 1 3 )
2 permutatio ns
THEOREME
x = A −1 b
matrice par le vecteur e i dont toutes les composantes sont nulles sauf la
Exemple
Soit la matrice suivante :
1 2 3
A = 4 5 6
7 8 9
A e3 = [3 6 9 ]T
e 1 = [1 0 0 ]T A e 1 = [1 4 7 ]T
C i la ième colonne de A −1 on a :
Ci
⋮ ⋮ ⋮ ⋮ ⋮
⋮ ⋮ ⋮ ⋮ ⋮
A −1 = ⋮ ⋮ ⋮ ⋮ ⋮ A −1 e i = C i ou ei = A C i
⋮ ⋮ ⋮ ⋮ ⋮
⋮ ⋮ ⋮ ⋮ ⋮
(AA ) e −1
i = AC i
I e i = AC i
e i = AC i
e i = AC i
(24)
Remarque
0 2 1
Exercice : Calculer l’inverse de la matrice suivante : A = 1 0 0
3 0 1
Solution
La décomposition L⋅U de A est déjà obtenue à partir de l’exemple
précédent, soit on a :
3 0 0 1 0 1 3 3
0 2
0 0 1 1 2 O = 1
1 0 − 1 3 0 0 1 2
L U
A C1 = e1 A C2 = e 2 A C3 = e3
A C1 = e1 ⇔ L U C1 = e 1
y
1
(1)
En posant :
U C1 = y
1
(1) devient :
L y = e1
1 (2)
aussi.
0
e1 = 1
0
y
y = y12
11
Si
1
y
13
(2) devient :
3 0 0 y 0
0 2 0 y11 = 1
12
1 0 − 1 / 3 y13 0
On va résoudre ensuite U C1 = y
1
1 0 1 3 C 0
0 1 1 2 C12 = 1 2
11
0 0 1 C13 0
C 1 = [0 1 2 0 ]
T
(
2.) La résolution du second système A C2 = e2 donne : )
C 2 = [1 3 2 − 3 ]
T
C3 = [0 − 1 2 1]
T
0 1 0
−1 1 2 3 2
A = − 1 2
0 − 3 1
norme l ∞ .
αx = α ⋅ x
(26)
x+ y ≤ x + y
(27)
Toute application vérifiant ces trois propriétés est une norme vectorielle. La plus
connue est la norme euclidienne.
x = x12 + x 22 + ⋯ + x n2 (28)
e
THEOREME
La norme Euclidienne vérifie les trois propriétés d’une norme vectorielle.
5.3. Norme l 1 et l ∞
La norme l 1 est définie par :
n
x
1
= ∑ xi (29)
i=1
x = max x i (30)
∞ 1≤ i ≤ n
x .
e
Solution
x = x1 + x2 + x3
1
= 1 + − 3 + − 8 = 12
x = max (1 , 3 , 8 ) = − 8 = 8
∞
x = x 12 + x 22 + x 32
e
= 1 + 9 + 64 = 74
1. la norme d’une matrice est toujours >0 sauf si la matrice a toute ses
composantes nulles :
A > 0 sauf si A = O
(31)
2. si α est un scalaire alors on a :
αA =α⋅ A
(32)
A× B ≤ A × B (34)
Toute application qui vérifie ces quatre propriétés est une norme matricielle.
n
2. A ∞ = max ∑ a ij
1≤ i ≤ n
j =1
1 −2 5
Exercice : soit la matrice A = − 3 1 − 5
1 − 9 0
Déterminer A 1 , A ∞ , A 2 .
Solution :
A 1 = max( 5 ,12 ,10 ) = 12
A ∞ = max( 8 ,9 ,10 ) = 10
= 1 2 + (− 2 ) + (5 ) + (− 3 ) + 1 2 + (− 5 ) + 1 2 + (− 9 ) + 0 2
2 2 2 2 2
A 2
= 147
Lorsqu’on s’intéresse aux systèmes linéaires on doit souvent manipuler des
produits de matrices par des vecteurs d’où l’intérêt de la définition :
Définition :
Une norme vectorielle et une norme matricielle sont dites compatibles si la
condition
Ax ≤ A ⋅ x
(35)
x et A 1
1
x et A ∞
∞
x et A 2
e
1 −2 5
A = − 3 1 − 5
1 − 9 0
Résolution
- 33
A x = 34
28
A 1 = 12 x = 12
1
A ∞ = 10 x =8
∞
A 2
= 147 x = 74
e
Ax = − 33 + 34 + 28 = 95
1
Ax = (− 33 )2 + (− 34 )2 + (28 )2 = 3029
e
norme l 1 : 95 ≤ 12 × 12
norme l ∞ : 34 ≤ 10 × 8
CondA = A ⋅ A −1 (36)
Remarques
1. Le conditionnement dépend de la norme matricielle utilisée. On utilise le
plus souvent la norme l∞ ( A∞ )
1 ≤ CondA ≤ ∞ (37)
e = x − x*
r = b − Ax = Ax − Ax *
( )
= A x − x * = Ae
e
e ≤ A−1 r
(39)
r ≤ A e
r
on peut tirer ≤ e (40)
A
r
≤ e ≤ A− 1 r (41)
A
b
≤ x ≤ A −1 b
A
1 1 A
≤ ≤
A −1 b x b (42)
r e A−1 A r
≤ ≤
A A −1 b x b
d’où
THEOREME
1 r e r
≤ ≤ CondA (43)
CondA b x b
Remarques
e
1. Le terme du milieu représente l’erreur relative entre la solution exacte
x
x et la solution approchée x * .
4. Même si la norme du résidu est petite, il est possible que l’erreur relative
liée à la solution approximative soit quand même très grande.
On peut obtenir une autre inégalité qui illustre le rôle du conditionnement d’une
matrice quant à la précision de la solution numérique d’un système linéaire. Soit
le système linéaire A x = b . Lorsqu’on résout un tel système sur ordinateur où la
représentation des nombres n’est pas toujours exacte, on résout en fait le
système suivant :
(A + E ) x = b
[
x = A −1 b = A −1 ( A + E ) x * ]
( )
= I + A −1 E x* = x * + A − 1 E x *
x − x* = A−1 E x *
A A −1 E x *
(34) et (35) ⇒ x − x * ≤ A −1 E x * =
A
THEOREME
x − x* E
≤ CondA
x* A
Remarques
4. Par contre, si CondA est grand, une petite perturbation sur A pourrait
résulter en une très grande perturbation sur la solution du système. Il est
par conséquent possible que les résultats numériques soient peu précis et
même dans certains cas complètement faux.
Problème
par :
49 ,0
74 ,0
X ≈ X* = A B =
−1
24 ,0
49 ,0
Résolution
1. Calcul de CondA
C = CondA = A ∞
A −1
∞
= 6 × 0 ,49 = 2 ,94
On a :
49 ,0
74 ,0
X ≈ X* = A −1 B =
24 ,0
49 ,0
On rappelle que :
1 R X − X* R
≤ ≤C
C B X B
B ∞
= 200
100 4 − 1 − 1 0 49 ,0 2
200 − 1 4 0 − 1 74 ,0 2
R = B − AX * = − = ⇒ R =2
0 − 1 ∞
0 4 − 1 24 ,0 2
100 0 1 −1 4 49 ,0 2
1 R∞ 1 2
= = 0 ,00340
C B ∞ 2 ,94 200
R ∞ 2
C = 2 ,94 = 0 ,0294
B ∞
200
donc
X −X* ∞
0,00340 ≤ ≤ 0 ,0294
X ∞
3. Raffinement itératif
R = A E ⇒ E = A −1 R R ≈ E*
résidu erreur
49 ,0 0 ,98 49 ,98
74 ,0 0 ,98 74 ,98
X ≈ X * + E* = + =
24 ,0 0 ,98 24 ,98
49 ,0 0 ,98 49 ,98
CHAPITRE 4
I. Introduction
La résolution numérique des grands systèmes linéaires (grandes tailles) peut
parfois nécessiter l’emploi des méthodes autres que la décomposition L U . La
raison principale est que la décomposition L U requiert la mise en mémoire d’une
matrice de très grande taille avec peu de possibilité de comprimer cette
information. Les méthodes itératives en revanche permettent de ne placer en
mémoire que les coefficients non nuls d’une matrice. Cela est particulièrement
important avec les matrices creuses dont une grande partie des coefficients sont
nuls. La décomposition L U ne permet pas cette possibilité puisque que le
processus même de décomposition tend à remplir la matrice. En effet, la plupart
des coefficients nuls d’une matrice creuse deviennent non nuls au terme de la
décomposition.
Les méthodes itératives possèdent donc des avantages suffisamment importants
pour justifier une recherche active dans ce domaine. Une grande prudence est de
mise donc. De plus, les méthodes itératives, lorsqu’elles convergent ne deviennent
vraiment avantageuses que pour les systèmes linéaires de très grande taille.
(A − λ I ) x = 0 ou Ax = λ Ix = λ x (2)
possède des solutions non nulles. En effet, le système (2) possède toujours la
• Une solution non nulle du système (2) est appelée vecteur propre de A
associée à la valeur propre λ .
p(λ ) = λ 2 − 3λ + 6
p(λ ) = λ 2 − 3λ + 6 = 0
∆ = 9 − 24 = −15 = 15 i 2
3 + i 15 3 − i 15
λ1 = λ2 =
2 2
ρ ( A ) = max λ i (3)
1≤ i ≤ n
1 4
Exercice : On donne la matrice A =
2 3
Déterminer le rayon spectral de A .
Solution :
1−λ 4
dét ( A − λ I ) = = λ 2 − 4λ − 5
2 3−λ
p(λ ) = λ 2 − 4 λ − 5 = 0 ⇒ λ 1 = 5 λ 2 = −1
λ 1 = 5 λ 2 = −1 ⇒ λ 1 = 5 et λ 2 = 1
ρ ( A) = max (5 ; 1) = 5
THEOREME
lim A n = 0
n→ ∞
(5)
Exemple :
1 2 0
A=
1 3 1 4
1 2−λ 0
dét ( A − λI ) = = (1 2 − λ )(1 4 − λ ) = 0 ⇒ λ1 = 1 2 et λ 2 = 1 4
13 1 4−λ
1 4 0
A2 =
1 4 1 16
⋯⋯⋯⋯⋯⋯⋯
⋯⋯⋯⋯⋯⋯⋯
0 ,97656 ⋅ 10 − 3 0 ,0
A10 =
0 ,13008 ⋅ 10 − 2 0 ,95367 ⋅ 10 − 6
⋯⋯⋯⋯⋯⋯⋯
⋯⋯⋯⋯⋯⋯⋯
0 ,88818 ⋅ 10 − 15 0 ,0
A50 = −4
0 ,11842 ⋅ 10 0 ,788886 ⋅ 10 − 30
lim A n = 0
n→ ∞
a 11 x 1 + a 12 x 2 + a 13 x 3 + ⋯ + a 1 n x n = b1
a x
21 1 + a 22 x 2 + a 23 x 3 + ⋯ + a 2 n x n = b 2
a 31 x 1 + a 32 x 2 + a 33 x 3 + ⋯ + a 3 n x n = b 3
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
(7)
a n 1 x 1 + a n 2 x 2 + a n 3 x 3 + ⋯ + a nn x n = bn
On suppose pour l’instant que tous les éléments de la diagonale sont non nuls
(aii ≠ 0 , ∀i ) .
A partir d’une approximation initiale de la solution notée
0
x = x10[ x 20 x 30 ⋯ xn0 ]
T
(comme dans toute méthode itérative) on construit
l’algorithme suivant :
1 n
x 1k + 1 = b1 − ∑ a 1 j x kj
a 11
j= 2
1 n
k +1
x2 = b2 − ∑ a 2 j x kj (8)
a 22 j=1, j≠ 2
1 n
x 3k + 1 = b3 − ∑ a 3 j x kj
a 33 j=1, j≠ 3
⋮ ⋮ ⋮
1 n− 1
x nk + 1 = bn − ∑ a nj x kj
a nn
j=1
Si l’un des éléments diagonaux est nul, il est parfois possible de permuter
certaines lignes pour éviter cette situation. Plus généralement, on écrit :
1 n
x ik +1 = bi − ∑ a ij x kj
a ii
j =1, j ≠i
(9)
Solution :
i=1 x1k + 1 =
1
a11
( 1
) (
b1 − a12 x2k − a13 x3k = 2 − a12 x2k − a13 x3k
3
)
i=2 x2k + 1 =
1
a22
( 1
) (
b2 − a21 x1k − a23 x3k = 17 − x2k − 2 x2k
5
)
i=3 x3k + 1 =
1
a33
( 1
) (
b1 − a12 x2k − a12 x2k = − − 18 − 2 x 2k + x2k
6
)
x 0 0
1
0 0
A partir de x = x 2 = 0 , on trouve :
x 0 0
3
1ère itération :
x11 =
1
3
( 3
)
2 − x 20 + x 30 = (2 − 0 + 0 ) =
1 2
3
1
(
x 21 = 17 − x10 − 2 x 30 =
5
17
5
)
1
(
x 31 = − − 18 − 2 x10 + x 20 = 3
6
)
x = [2 / 3 17 / 5 3]T
1
2e itération
x 12 =
1
( 1
2 − x 21 + x 31 = 2 −
3
)
17 8
+ 3 =
3 5 15
1
( 1 2
) 31
x 22 = 17 − x 11 − 2 x 31 = 17 − − 6 =
5
5 3 15
x 32 = −
1
6
( 1
) 2 17
− 18 − 2 x 11 + x 21 = − − 18 − 2 +
6
= 2 ,655556
3 15
x = [8 / 15 31 / 15 2 ,655556 ]T
2
où
a11
a 22
D=
⋱
ann
0 0 a 12 a 13 ⋯ a1n
a
21 0 0 a 23 ⋯ a 2 n
Ti = a 31 a 32 0 Ts = 0 ⋯ a3n
⋮ ⋮ ⋮ ⋱ ⋱ ⋮
a n 1 an2 an3 ⋯ 0 0
Le système linéaire : Ax = b
devient :
( D + Ti + Ts ) x = b
D x = − (Ti + Ts ) x + b
x = − D − 1 (Ti + Ts ) x + D − 1 b
x = TJ x + CJ
où TJ = − D − 1 (Ti + Ts ) et CJ = D − 1 b
k+1 k
x = TJ x + CJ
Définition
n
aii > ∑ aij , ∀i
j =1, j ≠i
dominant puisque sa valeur absolue est plus grande que la somme des valeurs
absolues de tous les autres termes de la ligne.
(11)
ρ ( A) ≤ A
THEOREME
n
x ik + 1 =
1 b − k
a ii i ∑ ij j
a x (12)
j=1, j≠i
k+1 1 i −1 n
k
xi = b − k
a x − ∑ a x
aii i j = 1 ij j j = i + 1 ij j
∑
1 i−1 n
x ik + 1 = bi − ∑ a ij x kj + 1 − ∑ a ij x kj
a ii
j=1 j=i+1 (13)
Enseignant : Joël M. ZINSALO /EPAC-UAC Page 90
Analyse numérique pour Ingénieurs
k +1 k+1
= D − 1 b − Ti x − T S x
k
x
ou encore
k +1
(Ti + D )x
k
= b − TS x
ou enfin
k+1
= − (Ti + D )− T S x + (Ti + D )− b
−1 k −1
x
TGS C GS
3 x1 + x 2 − x 3 = 2
x 1 + 5 x 2 + 2 x 3 = 17
2 x − x − 6 x = −18
1 2 3
x 1k + 1 =
1
a 11
(
b1 − a 12 x 2k − a 13 x 3k )
x 1k + 1 =
1
3
(
2 − x 2k + x 3k )
x 2k + 1 =
a 22
(b2 − a 21 x 1k + 1 − a 23 x 3k )
1
x 2k + 1 = (17 − x 1k + 1 − 2 x 3k )
1
5
x 3k + 1 =
1
a 33
(b3 − a 31 x 1k + 1 − a 32 x 2k + 1 )
x 3k + 1 = − (− 18 − 2 x 1k + 1 + x 2k + 1 )
1
6
Partant de x = [0 0 0 ]T , on a :
0
1ère itération
x 11 =
1
(2 − 0 + 0 ) = 2
3 3
1 2 49
x 21 = 17 − =
5 3 15
1 2 49 241
x 31 = − − 18 − 2 + =
6 3 15 90
D’où le tableau
k x 1k x 2k x 3k
Seidel converge généralement plus vite que la méthode de Jacobi mais pas
toujours.
THEOREME
CHAPITRE 5
1. Introduction
Les phénomènes non linéaires sont extrêmement courants en pratique. Sans
doute, ils sont plus fréquents que les phénomènes linéaires. Dans ce chap. on
examinera les systèmes non linéaires.
Les méthodes de résolution des systèmes non linéaires sont nombreuses et on ne
présentera dans ce chap. que la méthode la plus importante et la plus utilisée en
pratique, la méthode dite de Newton.
2. Méthode de Newton
2.1. Principe
Le problème consiste à trouver le ou les vecteurs
x = [ x1 x 3 ⋯ xn ]
T
x2
f 1 ( x 1 , x 2 , x 3 ,⋯ , x n ) = 0
f 2 ( x1 , x 2 , x 3 ,⋯ , x n ) = 0
f 3 ( x 1 , x 2 , x 3 ,⋯ , x n ) = 0
⋮ ⋮ ⋮
(1)
f n ( x 1 , x 2 , x 3 ,⋯ , x n ) = 0
f 1 ( x1 , x 2 ) = 0
f (x , x ) = 0
2 1 2
Soit (x 0
1 , x 20 ) une approximation initiale de la solution de ce système ; cette
approximation initiale est cruciale et doit toujours être choisie avec soin. Le
problème est de déterminer une correction que nous appelons (δx 1 ,δx 2 ) à x 10 , x 20 ( )
de telle sorte que :
(
f 1 x 10 + δx 1 , x 20 + δx 2 = 0 )
(
f 2 x 10 + δx 1 , x 20 + δx 2 = 0 )
Pour déterminer (δx 1 ,δx 2 ) il suffit de faire un développement de Taylor à deux
variables pour chacune des deux fonctions :
(
f 1 x 10 + δx 1 , x 20 + δx 2 =) (
f 1 x 10 , x 20 )+ (
δx 1 ∂f 1 x 10 , x 20 ) + δx 2 ( )
∂f 1 x 10 , x 20
+⋯= 0
1! ∂x 1 1! ∂x 2
( )
f 2 x 10 + δx 1 , x 20 + δx 2 = f 2 x 10 , x 20 + ( ) (
δx 1 ∂f 2 x 10 , x 20 ) + δx 2 ( )
∂f 2 x 10 , x 20
+⋯= 0
1! ∂x 1 1! ∂x 2
δx 1
(
∂f 1 x 10 , x 20 )
+ δx 2
∂f 1 x 10 , x 20 ( )
= − f 1 x 10 , x 20 ( )
∂x 1 ∂x 2
δx 1
(
∂f 2 x 10 , x 20 ) ∂f x 0 , x 0 (
+ δx 2 2 1 2 = − f 2 x 10 , x 20
) ( )
∂x 1 ∂x 2
∂f 1 (x ) ( )
∂f 1 x 10 , x 20 δx 1
( )
0
1 , x 20
f 1 x 10 , x 20
∂x 1 ∂x 2
=−
∂f 2 (x 0
, x 20 ) (
∂f 2 x 1 , x 2
0 0
)
( )
1
δ x f 2 x 10 , x 20
∂x 1 ∂x 2 2
ou encore sous forme compacte
( )
J x 10 , x 20 δx = − R x 10 , x 20 ( )
(
où J x 10 , x 20 ) désigne la matrice des dérivées partielles qu’on appelle matrice
On pose ensuite :
x 11 = x 10 + δx 1
1
x 2 = x 2 + δx 2
0
x i = x 1i [ x 2i ⋯ x ni ]T
De plus, on pose :
i
f 1 x
δx 1
i
f 2 x δx 2
i
R x = et δx =
⋮ ⋮
δx
f x i n
n
2.2. Algorithme
1. Etant donné ε un critère d’arrêt.
2. Etant donné N le nombre maxi d’itérations.
3. Etant donné x 0 = x 10 [ x 20 x 30 ⋯ x n0 ]
T
une approximation initiale de la
solution du système
4. Résoudre le système linéaire :
J x δx = − R x i
i
(3)
Poser :
x i + 1 = x + δx
i
δx
5. Si < ε et R x i + 1 ≤ ε :
x i+1
• convergence atteinte ;
• écrire la solution x i + 1 ;
• arrêt.
6. Si le nombre maxi d’itérations N est atteint :
Solution :
x 2 = e x1 (1)
C (O , R ) = {M ( x 1 , x 2 ) ∈ P / d (O , M ) = R}
d (O , M ) = OM = (x1M − x 1O ) 2 + ( x 2 M − x 2 O ) 2
= x1 2 + x 2 2 = R
⇒ x1 2 + x 2 2 = R 2 (2)
x1
e − x2 = 0
x12 + x 22 = 16
Le graphique des deux courbes montre que le système non linéaire a deux
solutions.
x 0 = [2 ,8 2 ,8 ]T
e x1 −1
J ( x1 , x 2 ) =
2 x 2 x 2
1
1ère itération :
e 2 ,8 − 1 δx 1 e 2 ,8 − 2 ,8
=−
2( 2 ,8 )
2( 2 ,8 ) δx 2
2 ,8 + 2 ,8 − 16
2 2
− 0 ,7789
δx =
0 ,83604
x 11 = x 10 + δx 1 = 2 ,8 − 0 ,77890 = 2 ,0211
x 21 = x 20 + δx 2 = 2 ,8 + 0 ,83604 = 3 ,63604
x = [2 ,0211 3 ,63604 ]
1 T
2e itération :
− 0 ,5048
Dont la solution est : δx =
0 ,10166
x 2 = [1 ,5163 3 ,7371]
T
x = [1 ,3281 3 ,7781 ]T
5
CHAPITRE 6
INTERPOLATION - APPROXIMATION
1. Introduction
Le problème à résoudre ici est le suivant : à partir d’une fonction f ( x ) connue
différente de x i ?
THEOREME
Un polynôme de degré n dont la forme générale est :
pn ( x ) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 + ⋯ + a n x n (a n ≠ 0 )
(1)
CORROLAIRE
Remarque
Le polynôme d’interpolation passant par (n + 1) points donnés est unique. Il reste
à en assurer l’existence, en le construisant au moyen de méthodes diverses.
2. Matrice de VANDERMONDE
Une 1ère méthode de construction du polynôme d’interpolation consiste à
déterminer les inconnues a i du polynôme (1) en vérifiant directement les (n + 1)
équations de collocation :
pn ( x i ) = f ( x i ) pour i = 0 ,1 ,2 ,⋯ , n
ou encore
a 0 + a 1 x i + a 2 x i2 + a 3 x i3 + ⋯ + a n x in = f ( x i )
1 x0 x 02 ⋯ x0n a0 f ( x 0 )
a f ( x )
1 x1 x 12 ⋯ x 1n 1 1
1 x2 x 22 ⋯ x 2n a 2 = f ( x 2 )
⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ (2)
1 xn x n2 ⋯ x nn a n f ( x n )
Remarque
La matrice de ce système linéaire porte le nom de matrice de Vandermonde. On
montre que le conditionnement de cette matrice augmente fortement avec la taille
(n + 1) du système. De plus, comme on le verra plus loin dans ce chap., il n’est
pas nécessaire de résoudre un système linéaire pour calculer un polynôme
d’interpolation. Cette méthode est donc rarement utilisée.
Exercice
Trouver le polynôme passant par les points (0, 1), (1, 2), (2, 9), (3, 28) par la
méthode de Vandermonde.
Solution : Etant donné ces 4 points, le polynôme recherché est tout au plus
de degré 3. Ses coefficients a i sont solution de :
1 0 0 0 a0 1
1
1 1 1 a1 2
=
1 2 4 8 a 2 9
1 3 9 27 a 3 28
p3 ( x ) = 1 + 0 ⋅ x + 0 ⋅ x 2 + 1 ⋅ x 3 = 1 + x 3
3. Interpolation de LAGRANGE
suivantes :
Li ( xi ) = 1 ; ∀ i
( )
Li x j = 0 ; ∀ j ≠ i
L( x ) = ∑ f ( x i ) Li ( x )
n
i=0
• Polynôme de degré 1
L0 ( x ) et L1 ( x ) de degré 1 vérifiant :
L0 ( x 0 ) = 1 L1 ( x 0 ) = 0
L0 ( x 1 ) = 0 L1 ( x 1 ) = 1
d’obtenir :
x − x1
L0 ( x ) =
x0 − x1
x − x0
L1 ( x ) =
x1 − x0
p1 ( x ) = ∑ f ( x i ) Li ( x ) = f ( x 0 ) L0 ( x ) + f ( x 1 ) L1 ( x )
1
i=0
Solution :
x0 = 2 f ( x0 ) = 3 , x1 = 5 f ( x 1 ) = −6
x − x1 x − x0
p1 ( x ) = f ( x 0 ) + f (x1 )
x0 − x1 x1 − x0
x−5 x−2
=3 −6
2−5 5−2
p 1 ( x ) = −3 x + 9
• Polynôme de degré 2
Pour trouver le polynôme de degré 2 passant par les trois points suivants
( x0 , f ( x0 )) , ( x 1 , f ( x 1 )) et ( x 2 , f ( x 2 )) , on doit construire les polynômes L0 ( x ) ,
( x − x1 ) ( x − x 2 )
L0 ( x ) =
( x0 − x1 ) ( x0 − x 2 )
( x − x0 ) ( x − x 2 )
L1 ( x ) =
( x1 − x0 ) ( x1 − x 2 )
( x − x0 ) ( x − x1 )
L2 ( x ) =
( x 2 − x0 ) ( x 2 − x1 )
p2 ( x ) = L0 ( x ) f ( x0 ) + L1 ( x ) f ( x1 ) + L2 ( x ) f ( x 2 )
Solution :
( x − 3 ) ( x − 4 ) ( x − 1) ( x − 4 ) ( x − 1) ( x − 3 )
p2 ( x ) = 2 +7 + ( −1 )
(1 − 3 ) (1 − 4 ) (3 − 1) (3 − 4 ) (4 − 1) (1 − 3 )
p2 ( x ) =
( x − 3 ) ( x − 4 ) − 7 ( x − 1) ( x − 4 ) − ( x − 1 ) ( x − 3 )
3 2 3
7 x 2 37
p2 ( x ) =
34
− x+
2 2 2
• Polynôme de degré n
n
pn (x ) = ∑ f ( x )L ( x )
i=0
i i
Li ( x ) =
( x − x 0 ) ( x − x 1 )⋯ ( x − x i − 1 ) ( x − x i + 1 )⋯ ( x − x n )
( x i − x 0 ) ( x i − x 1 )⋯ ( x i − x i − 1 ) ( x i − x i + 1 )⋯ ( x i − x n )
(3)
THEOREME
n
p n ( x ) = ∑ f ( x i )L i ( x )
i =0
formule de LAGRANGE.
Solution :
p3 ( x ) = 1
( x − 1) ( x − 2 ) ( x − 3 ) + 2 ( x − 0 ) ( x − 2 ) ( x − 3 ) +
(0 − 1) (0 − 2 ) (0 − 3 ) (1 − 0 ) (1 − 2 ) (1 − 3 )
+9
( x − 0 ) ( x − 1) ( x − 3 ) + 28 ( x − 0 ) ( x − 1) ( x − 2 )
( 2 − 0 ) (2 − 1 ) ( 2 − 3 ) (3 − 0 ) ( 3 − 1 ) (3 − 2 )
p3 ( x ) = x 3 + 1
Remarque :
4. Polynôme de NEWTON
En dépit de la forme la plus utilisée (1) d’un polynôme, il en existe d’autres qui
sont plus appropriées au cas de l’interpolation.
Par exemple :
pn ( x ) = a 0
+ a 1 ( x − x0 )
+ a 2 ( x − x0 ) ( x − x 1 )
+ a 3 ( x − x0 ) ( x − x1 ) ( x − x 2 )
+ ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ (4)
+ a n − 1 ( x − x0 ) ( x − x 1 ) ( x − x 2 )⋯ ( x − x n − 2 )
+ a n ( x − x0 ) ( x − x 1 ) ( x − x 2 )⋯ ( x − x n − 2 ) ( x − x n − 1 )
Définition 1 :
f (x i+1 ) − f (x i )
f [x i , x i + 1 ] =
x i+1 − x i (5)
ères
1 différence s divisées
Remarque :
p1 ( x ) = f ( x 0 ) + f [ x 0 , x 1 ] ( x − x 0 )
Définition 2 :
f [ x i + 1 , x i + 2 ] − f [ xi , x i + 1 ]
f [ xi , xi + 1 , xi + 2 ] =
( xi + 2 − xi )
2 e différences divisées de f ( x ) (6)
f [ x 1 , x 2 , ⋯ x n ] − f [ x0 , x 1 , ⋯ x n − 1 ]
f [ x0 , x1 , x 2 , ⋯ , x n ] = (7)
( x n − x0 )
Notons que les toutes 1ères différences divisées de f ( x ) (soient les 0ièmes
Remarque :
On démontre que :
p2 ( x ) = f ( x0 ) + f [x0 , x 1 ] ( x − x 0 ) + f [ x0 , x 1 , x 2 ] ( x − x0 ) ( x − x 1 )
p1 ( x )
passe par les trois premiers points de collocation. De plus, on remarque que ce
polynôme de degré 2 s’obtient uniquement par l’ajout d’un terme de degré 2 au
polynôme p1 ( x ) déjà calculé. En raison de cette propriété, cette méthode est dite
récursive.
THEOREME
pn ( x ) = pn − 1 ( x ) + a n ( x − x0 )( x − x 1 )⋯ ( x − x n − 1 ) (8)
a i = f [ x0 , x 1 , x 2 , ⋯ x i ] pour 0 ≤ i ≤ n (9)
Remarques :
p n ( x ) = a 0 + ( x − x 0 ) (a 1 + ( x − x 1 ) (a 2 + ( x − x 2 ) (a 3 + ⋯
+ ( x − x n − 2 ) (a n − 1 + a n ( x − x n − 1 ))))
(10)
xi f ( xi ) f [xi , xi +1 ] f [xi , xi +1 , xi + 2 ] f [x i , x i +1 , x i + 2 , x i + 3 ]
x0 f ( x0 )
f [x0 , x1 ]
x1 f (x1 ) f [ x0 , x 1 , x 2 ]
f [x 1 , x 2 ] f [x0 , x 1 , x 2 , x 3 ]
x2 f (x2 ) f [x1 , x 2 , x 3 ]
f [x 2 , x 3 ]
x3 f (x3 )
La construction de cette table est simple ; on s’est arrêté aux 3ièmes différences
divisées. Les 1ères différences divisées découlent de la définition simple à savoir
que :
f ( x1 ) − f ( x0 )
f [x0 , x1 ] =
x1 − x0 (10)
f [ x 1 , x 2 ] − f [x 0 , x 1 ]
f [x0 , x 1 , x 2 ] =
x 2 − x0
f [x 1 , x 2 , x 3 ] − f [x0 , x 1 , x 2 ]
f [x0 , x 1 , x 2 , x 3 ] =
x 3 − x0
Exercice :
Trouver le polynôme d’interpolation de Newton passant par les
points (0 , 1), (1 , 2 ), (2 , 9 ) et (3 , 28 ) .
Résolution :
xi f ( xi ) f [xi , xi +1 ] f [xi , xi +1 , xi + 2 ] f [x i , x i +1 , x i + 2 , x i + 3 ]
a1 a2
0 1
a0
a3
1
1 2 3
7 1
2 9 6
19
3 28
p3 ( x ) = a0
+ a1 (x − x0 )
+ a 2 ( x − x 0 )( x − x 1 )
+ a 3 ( x − x 0 )( x − x 1 )( x − x 2 )
on obtient :
p 3 ( x ) = 1 + 1( x − 0 ) + 3( x − 0 )( x − 1) + 1( x − 0 )( x − 1)( x − 2 )
= x3 + 1
Remarques :
2. Les points de collocation ne doivent pas forcément être placés par abscisses
croissantes, bien que cela soit souvent préférable.
5. Erreur d’interpolation
L’interpolation permet, à partir d’un certain nombre de données sur les valeurs
d’une fonction, de faire l’approximation de f ( x ) en tout point x . Toutefois,
cette opération entraîne une erreur d’interpolation qu’il convient d’étudier
d’autant plus que les résultats serviront également dans l’analyse de
l’intégration et de la dérivation numériques.
f ( x ) = pn ( x ) + E n ( x )
ou
E n ( x ) = f ( x ) − pn ( x )
E n ( x i ) = 0 pour i = 0 , 1 , 2 ,⋯ , n
et donc que l’erreur d’interpolation est nulle aux points de collocation puisque le
polynôme passe exactement par ces points.
Remarque :
Soit x0 < x 1 < x 2 < ⋯ < x n , des points de collocation. On suppose que la
f (n + 1 ) [ξ ( x )]
En (x ) = ( x − x 0 ) ( x − x 1 )⋯( x − x n ) (11)
(n + 1) !
Remarques :
E n ( x ) ≈ f [ x0 , x1 , x 2 , ⋯ , x n+ 1 ] ( x − x0 ) ( x − x 1 )⋯ ( x − x n ) (12)
au point x = 8 .
Solution :
7 2,645751
0,177124
9 3,000000 - 0,00470299
0,158312 0,000206783
0,144463 0,000129243
13 3,605551 - 0,00268680
0,133716
15 3,872983
p1 ( x ) = 2 ,645751 + 0 ,177124 ( x − 7 )
or d’après (12) :
On constate que E 1 (8 ) ≈ E 1 (8 )
(1) (2)
p 2 ( x ) = p 1 ( x ) − 0 ,00470299 ( x − 7 )( x − 9 )
et
E 2 (8 ) = f (8 ) − p 2 (8 ) = 0 ,000849135
p3 ( x ) = p2 ( x ) + 0 ,000206783 ( x − 7 ) ( x − 9 ) ( x − 11)
donc
E 3 (8 ) = f (8 ) − p3 (8 ) = 0 ,000228786
x − x0
s= ou encore x − x 0 = s h
h
x − xi = x − ( x0 + ih) = ( x − x0 ) − ih = sh − ih = (s − i ) h
xi (13)
THEOREME
f ( n+ 1 ) [ξ ( h )]
En ( x ) = s (s − 1) (s − 2 )⋯ (s − n ) h
n+ 1
(14)
(n + 1) !
Remarque :
... ...
x0 x1 xi xn = x0 + nh
x i = x0 + i h , i entier
x = x0 + s h , s réel
x − x i = (s − i ) h pour i = 0 , 1 , 2 ,⋯ , n
x − x0
Pour x donné, s=
h
pn ( x ) = a0 + a 1 ( x − x 0 ) + a 2 ( x − x0 )( x − x 1 ) + ⋯ + a n ( x − x0 )( x − x 1 )⋯( x − x n−1 )
où
a i = y[ x 0 ,⋯ , x n ] différences divisées
= f [ x 0 ,⋯ , x n ] i≠0
a0 = f ( x 0 ) = y0
∆n y 0
an = n
où ∆n y 0 = f [ x i , x i + 1 , x i + 2 , x i + n ]
n! h
∆y 0 ∆2 y 0 ∆3 y 0
pn ( x ) = y0 + sh+ s h (s − 1) h + s h ( s − 1) h ( s − 2 ) h + ⋯ +
1! h 2! h 2 3! h 3
∆n y 0
+ s h ( s − 1) h ⋯ ( s − n + 1) h
n! h n
s ( s − 1) 2 s (s − 1) ( s − 2 ) 3 s (s − 1) ⋯ ( s − n + 1) n
p n ( x ) = y 0 + s ∆y 0 + ∆ y0 + ∆ y0 + ⋯ + ∆ y0
2! 3! n!
s s s s
p n ( x ) = y 0 + ∆ y 0 + ∆2 y 0 + ∆3 y 0 + ⋯ + ∆n y 0
1 2 3 n
où
s s (s − 1) (s − 2 )⋯ (s − n + 1)
= C ns =
n n!
Remarques :
x n+ 1 = x n + h .
2. le polynôme p n++ 1 ( x ) qui passe par les points précédents et le nouveau point
s n+ 1
p n+ 1 ( x ) = p n ( x ) + ∆ y 0
n + 1
Exercice :
on considère la table des différences divisées ci-dessous. Interpoler la
fonction en x = 0 ,73 en utilisant les points d’abscisses 0 ,4 ; 0 ,6 ; 0 ,8 et 1 .
x y ∆y ∆ 2y ∆ 3y ∆4y
0,203
0,2 0,203 0,017
0,220 0,024
x0 = 0,4 0,423 0,041 0,020
0,261 0,044
x 1 = 0,6 0,684 0,085 0,052
x 0,346 0,096
x 2 = 0,8 1,030 0,181 0,211
0,527 0,307
x 3 = 1,0 1,557 0,488
1,015
1,2 2,572
Réponse :
x − x0
s=
h
s s s
h = 0 ,2 et p 3 ( x ) = y 0 + ∆ y 0 + ∆2 y 0 + ∆3 y 0
x = 0 ,73 1 2 3
x 0 = 0 ,4
s (s − 1) 2 s (s − 1) (s − 2 ) 3
p 3 ( x ) = y 0 + s ∆y 0 + ∆ y0 + ∆ y0
2! 3!
Enseignant : Joël M. ZINSALO /EPAC-UAC Page 121
Analyse numérique pour Ingénieurs
1 ,65 (0 ,65)
p 3 (0 ,73) = 0 , 423 + 1 ,65 × 0 , 261 + (0 ,085) + 1 ,65 (0 ,65) (− 0 ,3 5)(0 ,096)
2 6
p 3 (0 ,73) = 0 ,89 3
CHAPITRE 7 :
DERIVATION NUMERIQUE
1. Introduction
Au chap. précédent, on sait qu’une fonction f ( x ) connue seulement en quelques
points peut être convenablement estimée à l’aide d’un polynôme de degré n avec
une certaine erreur. Plus précisément :
f ( x ) = pn ( x ) + E n ( x ) (1)
f ( n+ 1 ) [ξ ( x )]
En (x ) = ( x − x0 ) ( x − x 1 ) ⋯ ( x − x n )
(n + 1)! (1’)
pour un certain ξ ( x ) ξ ( x ) ∈ [ x 0 , x n ] .
⋮ ⋮ ⋮
passant par ces points. De plus, le terme d’erreur associé à cette approximation
de la dérivée est tout simplement la dérivée de l’erreur d’interpolation. Ceci est vrai
quelque soit l’ordre de la dérivée.
Remarque :
Bien qu’en théorie on soit en mesure d’estimer les dérivées de tout ordre, sur le
plan pratique, on dépasse rarement l’ordre 4. Cela s’explique par le fait que la
différentiation numérique est un procédé numériquement instable.
2. Dérivées d’ordre 1
f (n+ 2 ) [ξ ( x )] ξ ' ( x )
E n' ( x ) = [ ( x − x 0 ) ( x − x 1 )⋯ ( x − x n )] +
(n + 1)!
'
f (n+ 1 ) [ξ ( x )]
+ ( x − x 0 ) ( x − x 1 )⋯ ( x − x n )
(n + 1)! I
La dérivée du produit I est plus délicate. Cette dérivée débouche sur une somme
de produits où tour à tour l’un des facteurs ( x − x i ) est manquant. Il est facile de
f (n + 2 ) [ξ ( x )] ξ ' ( x )
E n' ( x ) = [ ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n )] +
(n + 1 )!
f ( n + 1 ) [ξ ( x )] n
() x − x )
n
(n + 1 )! k∑
+ Π j
=0 j=0 ( j≠ k (3)
f (n+ 1 ) [ξ ( xi )] n
E n' ( x ) = Π x −x
(n + 1)! j =0 ( j ≠ i ) i j
( )
x i +1 − x i = h
(x i )
− x j = (i − j ) h
on obtient :
f (n + 1 ) (ξ i ) h n n
E n' ( x i ) = Π (i − j )
(n + 1 )! j=0 ( j≠ i ) (4)
f (n+ 1 ) (ξ 0 ) h n n f
(n + 1 ) ( ) n n
ξ0 h
E n' ( x 0 ) = Π (− j ) = Π (− j )
(n + 1)! j =0 ( j ≠ 0) (n + 1)! j =1
en arrangeant, on a :
(− 1 ) h n f (n + 1 ) (ξ 0 )
n
E n' ( x0 ) =
(n + 1)! (5)
Remarque :
Définition
Aux points d’interpolation, on a :
le terme pn' ( x i ) de l’équation (6) est une formule aux différences finies ou plus
Exemple 1 :
p1 ( x ) = a 0 + a 1 ( x − x 0 )
= f ( x0 ) + f [x0 , x 1 ] ( x − x0 )
donc f ( x ) = p1 ( x ) + E 1 ( x )
f ( x 1 ) − f ( x 0 ) h f (2 ) (ξ 0 )
f ' ( x0 ) = − pour ξ 0 ∈ [ x 0 , x1 ]
h 2
f [ x0 , x1 ] (8)
c' est la différence avant d' ordre 1
f ( x 1 ) − f ( x0 ) f ( x 1 ) − f ( x 0 ) h f ( 2 ) (ξ 1 ) 1
1
f ' ( x1 ) = + E' ( x 1 ) = + Π (1 − j )
x1 − x0 h 2! j =0 , j ≠ 1
ou encore :
(2 )
f ( x 1 ) − f ( x 0 ) h f (ξ 1 )
f ' (x1 ) = + pour ξ 1 ∈ [x0 , x1 ]
h 2
(9)
Différence arrière d' ordre 1
Remarque :
Exemple 2 :
( x1 , f ( x 1 )) et ( x 2 , f ( x 2 )) , on a :
p2 ( x ) = f ( x 0 ) + f [ x 0 , x 1 ] ( x − x 0 ) + f [ x 0 , x 1 , x 2 ] ( x − x 0 ) ( x − x 1 )
− f ( x 2 ) + 4 f ( x 1 ) − 3 f ( x 0 ) h f "' (ξ 0 )
2
f ' ( x0 ) = +
2h 3
f ( x 2 ) − f ( x0 ) h f "' (ξ 1 )
2
f ' ( x 1 )= −
2h 6
Différence centrée d' ordre 2
3 f ( x 2 ) − 4 f ( x 1 ) + f ( x 0 ) h f "' (ξ 2 )
2
f ' (x2 ) = +
2h 3
Différence arrière d' ordre 2
Remarques :
1. Les termes d’erreurs aux différences finies découlent tous de la relation (7).
Les points ξ 0 , ξ 1 , ξ 2 sont situés quelque part dans l’intervalle [ x 0 , x 2 ]
et sont inconnus.
2. Toutes ces formules aux différences sont d’ordre 2. les mentions avant,
centré et arrière renvoient au point où on calcule la dérivée et aux points
utilisés pour la calculer. Ainsi, la différence avant est évaluée en x 0 sur la
f ( x + h) − f ( x )
f ' (x) = + O (h)
h
Différence avant d' ordre 1
f ( x ) − f ( x − h)
f ' (x) = + O (h)
h
Différence arrière d' ordre 1
− f ( x + 2 h) + 4 f ( x + h) − 3 f ( x )
f ' (x) =
2h
+O h( )
2
f ( x + h) − f ( x − h)
f ' (x) =
2h
+O h
2
( )
Différence centrée d' ordre 2
3 f ( x ) − 4 f ( x − h ) + f ( x − 2 h)
f ' (x) =
2h
+O h
2
( )
Différence arrière d' ordre 2
f ( x − 2 h) − 2 f ( x − h) + f ( x )
f "( x ) = + O (h)
h2
Différence arrière d' ordre 1
f ( x + 2 h) − 2 f ( x + h) + f ( x )
f " (x ) = + O (h)
h2
Différence avant d' ordre 1
f ( x + h) − 2 f ( x ) + f ( x − h)
f" (x) =
h2
+ O h2( )
Différence centrée d' ordre 2
− f ( x + 2 h) + 16 f ( x + h) − 30 f ( x ) + 16 f ( x − h) − f ( x − 2 h)
f " (x) =
12 h 2
( )
+ O h4
f ( x + 2 h) − 4 f ( x + h ) + 6 f ( x ) − 4 f ( x − h ) + f ( x − 2 h )
f "" ( x ) =
h 4
( )
+ O h2
f ( x0 + h) − f ( x0 − h)
f ' ( x0 ) ≈
2h
4. Extrapolation de RICHARDSON
La méthode de Richardson est valable non seulement pour la dérivation et
l’intégration numérique mais aussi pour l’interpolation et la résolution numérique
des équations différentielles etc. Cette technique permet d’augmenter la précision
d’une méthode d’approximation par une technique d’extrapolation qu’on verra ici.
Soit une approximation numérique initiale notée Qapp (h) d’une certaine quantité
n n+ 1 n+ 2
h h h h
Qexa = Qapp + C n + C n + 1 + C n+ 2 +⋯
2 2 2 2 (13)
h
L’approximation Qapp est généralement plus précise que Qapp (h) . On peut
2
cependant se servir de ces deux approximations pour en obtenir une nouvelle,
encore plus précise. L’idée consiste à combiner les relations (12) et (13) de telle
( )
sorte que le terme d’ordre n C n h n disparaisse. Cela est possible si on multiplie
h h n+ 1 h n+ 2
= 2 Qapp + C n h + C n+ 1 +⋯
+ C n+ 2 2 2
n n n
2 Qexa
2 2
Qexa = Qapp (h) + C n h n + C n+ 1 h n+ 1 + C n+ 2 h n+ 2 + ⋯
__________________________________________________________
(2 n
) h
− 1 Qexa = 2 n Qapp − Qapp (h) − C n+ 1 h n+ 1 − C n+ 2 h n+ 2 + ⋯
1 3
2 2 4
d’où
h
2 n Qapp − Qapp (h ) − C n + 1 h n + 1 − C n + 2 h n+ 2
1 3
= 2 2 4
+⋯
( )
Qexa (14)
2 −1
n
ou plus simplement :
h
2 n Qapp − Qapp (h)
=
2 (
+ O h n+ 1 )
( )
Qexa
2n − 1
Exemple :
• pour h = 0 ,1
e 0 + h − e 0 e 0 ,1 − e 0
f ' (0 ) = = = 1 ,05170918 = Qapp (0 ,1)
h 0 ,1
• pour h = 0 ,05
e 0 ,05 − e 0
f ' (0 ) = = 1 ,0254219 = Qapp (0 ,05 )
0 ,05
qui est une approximation d’ordre 2 et donc plus précise de f ' (0 ) . De même,
si on utilise une différence centrée d’ordre 2, on obtient :
• pour h = 0 ,05
e 0 ,05 − e −0 ,05
f ' (0 ) = = 1 ,0004167
2 × 0 ,05
• pour h = 0 ,025
e 0 ,025 − e −0 ,025
f ' (0 ) = = 1 ,00010418
2 × 0 ,025
f ( x + h ) − f ( x − h) f '" ( x ) h 2 f ( 5 ) ( x ) h 4
2h
= f ' (x ) +
3!
+
5!
( )
+ O h6
Remarque
Il vaut mieux éviter d’utiliser des valeurs de h très petites pour calculer une
dérivée à l’aide d’une formule de différence finie. Il est préférable de choisir une
valeur de h pas trop petite et de faire des extrapolations de Richardson.
CHAPITRE 8
INTEGRATION NUMERIQUE
1. Introduction
L’intégration numérique est basée principalement sur la relation :
∫x f ( x ) dx = ∫x pn ( x )dx + ∫x E n ( x )dx
xn xn x n
0 0 0 (1)
∫x f ( x )dx
x1
E1 ( x )dx
x1
∫x
f ( x1 ) 0
f (x)
f ( x0 )
∫x p1 ( x ) dx
x1
x0 x1
p1 ( x ) = a0 + a1 ( x − x0 ) = f ( x0 ) + f [ x0 , x1 ]( x − x0 )
et
f ( 2 ) [ξ ( x )]
E1 ( x ) = ( x − x0 )( x − x1 )
2!
où ξ ( x ) ∈ [ x0 , x1 ]
on a :
f ( x )dx = ∫ p1 ( x ) dx + ∫ E1 ( x )dx
x1 x1 x1
∫x 0 x0 x0
{ f ( x0 ) + f [x0 , x1 ]( x1 − x0 )}d x +
x1
=∫
x0
f (2 ) [ξ ( x )]
( x − x0 )( x − x1 ) d x
x1
+∫
x0 2!
( x1 − x0 ) ( f ( x ) + f ( x )) +
∫x f ( x ) dx =
x1
0 1
0 2
aire du trapèze
e
" [ξ ( x )] (2)
( x − x0 )( x − x1 ) d x
x1 f
+∫
x0 2!
erreur commise
x − x0
s= ⇒ x − x0 = s h
h
et
x − x i = x − ( x 0 + ih) = ( x − x 0 ) − ih
= sh − ih = (s − i ) h
donc d x = hds .
( x1 − x0 ) = s h, h = sh ⇒ s = 1
f " [ξ (s )]
( x − x 0 ) ( x − x 1 ) d x = ∫ f " [ξ (s )] s (s − 1) h 3d s
x1 1
∫x 0 2! 0 2!
f1 ( x ) f2 ( x ) d x = f1 (η ) ∫ f2 ( x ) d x
b b
∫a a
(3)
Conclusion :
f " (η ) 3
∫ x f ( x ) d x = 2 [ f ( x0 ) + f ( x1 )] − h pour η ∈ [ x0 , x1 ]
x1 h
0 12 (4)
Exercice
π 2
Evaluer numériquement par la méthode du trapèze ∫0 sin x d x
Solution
Analytiquement, on a :
π 2 π 2
J = ∫ sin x d x = [− cos x ]0
0
π
= − cos + cos 0 = 0 + 1
2
J =1
J≈
h
[ f ( x0 ) + f ( x1 )]
2
π π
h= −0 =
2 2
h π π
J ≈ sin 0 + sin = (0 + 1)
2 2 4
J ≈ 0 ,785398164
b−a
h=
n
(5)
x0 = a x1 x2 xn − 2 xn − 1 xn = b
Les différents points engendrés sont notés x i pour i = 0 , 1 , 2 , ⋯ , n . Les valeurs aux
n− 1 x n−1
f ( x )d x = ∑ ∫ f ( x )d x ≈ ∑
h
[ f ( xi ) + f ( xi + 1 )]
b i +1
∫a i =0
xi
i =0 2
∫a f ( x ) d x = 2 {[ f ( x0 ) + f ( x1 )] + [ f ( x1 ) + f ( x2 )] + ⋯ +
b h
+ [ f ( xn − 2 ) + f ( xn − 1 )] + [ f ( xn − 1 ) + f ( xn )] }
On remarque que tous les termes f ( x i ) sont répétés deux fois sauf le premier et
le dernier. On conclut :
∫a f ( x ) dx ≈ 2 {f ( x0 ) + 2 [ f ( x1 ) + f ( x 2 ) + ⋯ + f ( x n− 1 )] + f ( x n ) }
b h
(6)
Remarque :
méthode du trapèze simple devrait faire intervenir la dérivée seconde en η i ( f " (ηi ))
b−a
f " (η ) h η ∈ [a , b ]
2
− pour
12 (7)
Exercice :
π 2
∫0 sin x d x
Solution
En prenant 4 sous-intervalles de longueur
h=
π 2−0
=
π 0 π/8 π/4 3π/8 π/2
4 8
π 2 π π π 3π π
J = ∫ sin x d x ≈ sin 0 + 2 sin + sin + sin + sin
0 8 8 4 8 2
≈ 0 ,9871158
π
En refaisant ce calcul avec 8 intervalles h = , on trouve :
16
π π 3π π 5π 3π 7π π
h= , 2h = , 3h = , 4h = , 5h = ,6h = ,7 h = , 8h =
16 8 16 4 16 8 8 2
π 2 π 16 π π 3π π 5π 3π 7π π
∫0 sin x d x ≈
2
sin 0 + 2 sin
16
+ sin + sin
8 16
+ sin + sin
4 16
+ sin
8
+ sin + sin
16 2
≈ 0 ,9967852
0 ,01288
≈ 4 ,025 ≈ 4 = 2 2
0 ,0032
2 n Qapp (h 2 ) − Qapp
Qexa =
2n − 1
2 2 0 ,9967852 − 0 ,9871158
Qexa =
22 − 1
Qexa = 1 ,000000833
Remarques
Définitions
( ) [ ](
p ( x ) = f x0 + f x0 , x 1 x − x0 + f x0 , x 1 , x 2 x − x0 x − x 1
2
) [ ]( )( )
et on a :
f ( x ) ≈ p2 ( x ) ⇒ ∫ f ( x ) d x ≈ ∫ 2 p2 ( x ) d x
x2 x
x0 x0
et donc:
f ( x )dx ≈ ∫ { f ( x0 ) + f [ x0 , x 1 ] ( x − x0 ) + f [ x0 , x 1 , x 2 ] ( x − x0 ) ( x − x1 ) }d x
x2 x2
∫x0 x0
s=
x− x
h
0
(i
)
⇒ x − x = (s − i ) h
Et on a la formule :
∫0 { f (x0 ) + f [x0 , ] [ ]
x 1 h s + f x 0 , x 1 , x 2 h 2 s (s − 1 ) h d s = } [( ) ( ) ( )]
2 h
f x0 + 4 f x 1 + f x 2
3
où :
[ ] f (x ) −h f (x )
f x0 , x 1 = 1 2
et [
f x0 , x 1 , x 2 = ] f (x ) − 2 2f h(x ) + f (x )
2
2
1 0
En résumé
∫x f ( x ) dx ≈ 3 [ f (x0 ) + 4 f (x1 ) + f (x 2 )]
x 2 h
0
qui est appelée formule de Simpson 1/3 simple ; cette terminologie est due au
facteur 1/3 qui multiplie h.
f (4 ) (η ) 5
−
90
[
h avec η ∈ x0 , x 2 ]
d’où :
[ f ( x 0 ) + 4 f ( x 1 ) + f ( x 2 )] − f (η ) h5 avec η ∈ [x 0 ,
(4 )
f ( x ) dx = x2 ]
x2 h
∫x0 3 90 (8)
Remarque :
Exercice
Evaluer numériquement par la méthode de Simpson 1/3 simple l’intégrale
π 2
∫0 sin x d x
Résolution
Déterminons h
l π 2−0 π π 1 π π
h= = = et x0 = 0 , x1 = × = , x2 =
2 2 4 2 2 4 2
∫x f ( x ) d x ≈ 3 [ f (x0 ) + 4 f (x1 ) + f (x 2 )]
x 2 h
0
π 4 π π
∫x f ( x )d x ≈ 3 sin 0 + 4 sin 4 + sin 2
x2
≈ 1 ,0022799
( ) ( ) ( )]
+ 2 f x2 n − 2 + 4 f x2 n − 1 + f x2 n −
(b − a ) f (4 ) (η ) h4
180 (9)
pour η ∈ [a , b]
Remarques :
1. Tous les termes de rang impair sont multipliés par 4 tandis que ceux de
( )
rang pair sont multipliés par 2, sauf le 1er f x0 et le dernier f x 2 n . ( )
2. La méthode de Simpson 1/3 composée est une méthode d’ordre 4.
De plus en raison de la présence de la dérivée 4ème de f ( x ) , cette méthode est
exacte dans le cas des polynômes de degré 3. Le degré de précision de cette
méthode est donc 3.
Exercice :
π 2
∫0 sin x d x
Résolution :
l π 2−0 π
h= = =
4 4 8
π 2 π 8 π 2π 3π π
∫0 sin xdx ≈ sin 0 + 4 sin + 2 sin + 4 sin + sin
3 8 8 8 2
≈ 1 ,0001346
π 2 π 16 π π 3π π
∫0 sin xdx ≈
3 sin 0 + 4 sin
16
+ 2 sin + 4 sin
8 16
+ 2 sin +
4
5π 3π 7π π
+ 4 sin + 2 sin + 4 sin + sin ≈ 1 ,000008296
16 8 16 2
Extrapolation de Richardson
2 4 × 1 ,000008296 − 1 ,0001346
Qexa = = 0 ,999999876
24 − 1
3. Méthode de ROMBERG
La méthode de Romberg est une méthode d’intégration qui permet d’atteindre des
résultats très précis. Elle est basée sur une utilisation astucieuse de la méthode
des trapèzes composée (d’ordre 2) et de la technique d’extrapolation de
Richardson.
2 2 T1 ,i + 1 − T1 ,i
T2 ,i = (10)
22 − 1
2 4 T2 ,i + 1 − T2 ,i
T3 ,i =
24 − 1
2 6 T3 ,i + 1 − T3 ,i
T4 ,i =
26 − 1
(11)
2 8 T4 ,i + 1 − T4 ,i
T5 ,i =
28 − 1
T1 ,1 T1 ,2 T1 ,3 T1 ,4 T1 ,5 T1 ,6 (ordre 2 )
T2 ,1 T2 ,2 T2 ,3 T2 ,4 T2 ,5 (ordre 4 )
T3 ,1 T3 ,2 T3 ,3 T3 ,4 (ordre6 )
T4 ,1 T4 ,2 T4 ,3 (ordre 8 )
T5 ,1 T5 ,2 (ordre 10 )
T6 ,1 (ordre 12 )
Chaque ligne de ce triangle est de deux ordres de convergence plus précise que la
précédente. La 1ère ligne est tout simplement constituée des approximations
obtenues à l’aide de la méthode des trapèzes composée avec 1, 2, 4, 8, 16, …
intervalles. Pour passer d’une ligne à l’autre, on utilise l’extrapolation de
Richardson pour les relations (10) et (11).
Remarque : On montre que la 2nde ligne du triangle n’est autre que le résultat de
la méthode de Simpson 1/3 avec respectivement 2, 4, 8, … intervalles. On
∫0 f ( x )d x
1
de x . Evaluer l’intégrale à l’aide de la méthode de Romberg.
x f (x)
0,00 0,3989
0,25 0,3867
0,50 0,3521
0,75 0,3011
1,00 0,2420
Résolution :
T1 ,1 =
1
[ f (0 ,0 ) + f (1 ,0 )] = 1 (0 ,3989 + 0 ,2420 ) = 0 ,32045
2 2
T1 ,2 =
0 ,5
[ f (0 ,0 ) + f (0 ,5 ) + f (1 ,0 )] = 0 ,336275
2
T1 ,3 =
14
[ f (0 ,0 ) + 2( f (0 ,25 ) + f (0 ,5 ) + f (0 ,75 )) + f (1,0 )] = 0 ,3400875
2
T1 ,1 T1 ,2 T1 ,3 (ordre 2 )
T2 ,1 T2 ,2 (ordre 4 )
T3 ,1 (ordre6 )
2 2 T1 ,2 − T1 ,1 2 2 (0 ,336275 ) − 0 ,32015
T2 ,1 = =
22 − 1 22 − 1
T2 ,1 = 0 ,34155
2 2 T1 ,3 − T1 ,2 2 2 (0 ,3400875 ) − 0 ,336275
T2 ,2 = =
22 − 1 22 − 1
T2 ,2 = 0 ,3413583
2 4 T2 ,2 − T2 ,1
T3 ,1 = = 0 ,3413456
24 − 1
∫0 f ( x )d x= T3 ,1 = 0 ,3413456
1
ordre 6
Remarque
Dans le cas d’une fonction connue seulement en certains points, le nombre de
points doit être de la forme 2 n + 1 pour que la méthode de Romberg puisse
s’appliquer. En effet, il faut que le nombre de sous-intervalles soit une puissance
de 2. Dans l’exercice précédent, on a 2 2 + 1 points et 4 sous-intervalles.
CHAPITRE 9
RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
1. Introduction
La résolution numérique des équations différentielles est probablement le
domaine de l’analyse numérique où les applications sont les plus nombreuses.
Soit une équation différentielle d’ordre 1 avec condition initiale. Le problème
consiste à déterminer une fonction y (t ) solution de :
y' (t ) = f (t , y( t ))
y (t 0 ) = y0 (1)
Avec les outils numériques de résolution des équations différentielles, il n’est plus
possible d’obtenir une solution pour toutes les valeurs de la variable
indépendante t . On obtient plutôt une approximation de la solution analytique
seulement à certaines valeurs de t notées t i et distancées d’une valeur
hi = t i + 1 − t i .
Dans la plupart des méthodes présentées ici, cette distance est constante pour
tout i et est notée h ; h est appelée le pas de temps.
Remarque :
()
On note y t i la solution analytique de l’équation différentielle (1) en t = ti .
numérique.
2. Méthode d’EULER
1. Principe
Bien que relativement simple et d’usage facile, la méthode d’Euler est peu utilisée
en raison de sa faible précision.
Soit ici l’équation différentielle (1) suivante :
y' (t ) = f (t , y (t ))
( )
y t 0 = y0 (1)
( ) (
y' t0 = f t0 , ( )) (
y t0 = f t0 , y0 )
L’équation de la droite d 0 (t ) passant par t0 , ( )
y0 et de pente f t0 , ( )
y0 s’écrit :
(
d0 (t ) = y0 + f t0 , )(
y0 t − t0 )
en t = t1 , on a :
d 0 (t 1 ) = y0 + f (t 0 , y0 ) (t 1 − t 0 )
= y0 + h f (t 0 , y0 ) = y1
( )
En d’autres termes d0 t1 est proche de la solution analytique y t1 c à d : ( )
( ) ( )
y t 1 ≈ y 1 = d 0 t 1 = y0 + h f t 0 , y0( )
le plus souvent, y1 ≠ y t1 ( )
( ) ( ( ))
y' t1 = f t1 , y t1 , on a :
( )
y' t1 = f t1 ,( ( )) (
y t1 ≈ f t1 , y1 )
et la construction de la droite d’équation :
d 1 (t ) = y1 + f t1 ,( )(
y1 t − t 1 )
( )
permet d’estimer y t 2 ; il vient :
( ) ( )
y t 2 ≈ y2 = d 1 t 2 = y1 + h f t1 , y1 ( )
Remarque
L’erreur introduite à la 1ère itération a des répercussions sur les calculs de la 2nde
itération, ce qui signifie que les erreurs se propagent d’une itération à l’autre. Il
()
en résulte que, de façon générale l’erreur y t i − yi augmente légèrement avec i .
2. Algorithme
1) Etant donné un pas de temps h , une condition initiale t0 , ( y0 )
et un nombre maximal d’itérations N
2) Pour 0 ≤ n ≤ N
(
yn + 1 = yn + h f t n , yn )
tn + 1 = tn + h
Ecrire tn+ 1 et yn + 1
3) Arrêt
Exercice d’application :
y' (t ) = − y (t ) + t + 1
y (0 ) = 1 ( condition initiale )
Résolution :
f (t , y) = − y + t + 1 car y' (t ) = f (t , y)
A la condition y (0 ) = 1 on a donc : t 0 = 0 et y 0 = 1 .
y3 = y2 + h f t2 , ( y2 )
y3 = 1 ,01 + 0 ,1 f (0 ,2 , 1 ,01 ) = 1 ,01 + 0 ,1(− 1 ,01 + 0 ,2 + 1)
y3 = 1 ,029
y4 = y3 + h f t3 , ( y3 )
y4 = 1 ,029 + 0 ,1 f (0 ,3 , 1 ,029 ) = 1 ,029 + 0 ,1(− 1 ,029 + 0 ,3 + 1)
y4 = 1 ,056100
(
y5 = y4 + h f t4 , y4 )
y5 = 1 ,0561 + 0 ,1 f (0 ,4 , 1 ,0561 ) = 1 ,0561 + 0 ,1(− 1 ,0561 + 0 ,4 + 1)
y5 = 1 ,09049
(
y6 = y5 + h f t5 , y5 )
y6 = 1 ,09049 + 0 ,1 f (0 ,5 , 1 ,09049 ) = 1 ,09049 + 0 ,1(− 1 ,09049 + 0 ,5 + 1)
y6 = 1 ,131441
(
y7 = y6 + h f t6 , y6 )
y7 = 1 ,131441 + 0 ,1 f (0 ,6 , 1 ,131441 ) = 1 ,131441 + 0 ,1(− 1 ,131441 + 0 ,6 + 1)
y7 = 1 ,178297
(
y8 = y7 + h f t7 , y7 )
y8 = 1 ,178297 + 0 ,1 f (0 ,7 , 1 ,178297 ) = 1 ,178297 + 0 ,1(− 1 ,178297 + 0 ,7 + 1)
y8 = 1 ,230467
(
y9 = y8 + h f t8 , y8 )
y9 = 1 ,230467 + 0 ,1 f (0 ,8 , 1 ,230467 ) = 1 ,230467 + 0 ,1(− 1 ,230467 + 0 ,8 + 1)
y9 = 1 ,287420
(
y10 = y9 + h f t9 , y9 )
y10 = 1 ,287420 + 0 ,1 f (0 ,9 , 1 ,287420 ) = 1 ,287420 + 0 ,1(− 1 ,287420 + 0 ,9 + 1)
y10 = 1 ,348678
ti ( )
y ti yi ( )
y t i − yi
0,0 1,000 000 1,000 000 0,000 000
0,1 1,004 837 1,000 000 0,004 837
0,2 1,018 731 1,010 000 0,008 731
0,3 1,040 818 1,029 000 0,011 818
0,4 1,070 302 1,056 100 0,014 220
0,5 1,106 531 1,090 490 0,016 041
0,6 1,148 812 1,131 441 0,017 371
0,7 1,196 585 1,178 297 0,018 288
0,8 1,249 329 1,230 467 0,018 862
0,9 1,306 570 1,287 420 0,019 150
1,0 1,367 879 1,348 678 0,019 201
3. Définition 1
Une méthode de résolution d’équations différentielles est dite à un pas si elle est
de la forme :
(
yn+ 1 = yn + h φ t n , yn ) (2)
où φ est une fonction quelconque. Une telle relation est appelée équation aux
différences.
, t n− 2 , t n−− 3 ,⋯ .
φ (t , y ) = f (t , y )
4. Définition 2
τ n+ 1 (h) =
( ) ( ) (
y t n+ 1 − y t n
− φ tn , y tn( ))
h (3)
Remarques
s’explique par le fait que l’on cherche à mesurer l’erreur introduite par
l’équation aux différences à un pas donné, en supposant que la méthode était
exacte jusque là.
3. Méthodes de RUNGE-KUTTA
( ) ( ) (
y t n+ 1 = y t n + h f tn , y t n ( )) +
+
h2 ∂ f
( ( ) ) + ∂∂yf (t
∂t t n , y t n , y tn ( ) ) × f (t ( ))
, y tn + O h3 ( ) (4)
2 n n
Le but est de remplacer cette dernière relation (4) par une expression équivalente
( ) ( )
y t n+ 1 = y t n + a1 h f t n , ( ) (
yn + a 2 h f t n + a 3 h , ( )
y t n + a4 h )
(5)
( )
(4) et (5) aient toutes deux une erreur en O h 3 . Pour y arriver, on a recours au
développement de Taylor en deux variables suivant :
( ( )
f tn + a3 h, y tn + a4 h = f tn , ) ( ( ))
y tn + a3 h
∂f
t ,
∂t n
( ( ))
y tn +
+ a4 h
∂f
t ,
∂y n
( ( )) + O (h )
y tn 2
∂f
y (t n + 1 ) = y (t n ) + (a 1 + a 2 ) h f (t n , y (t n )) + a 2 a 3 h 2 (t n , y (t n )) +
∂t
+ a2 a4 h 2
∂f
∂y
(t n , y (t n )) + O h 3( ) (6)
Les expressions (4) et (6) sont du même ordre. Pour déterminer les coefficients a i ,
coefficients respectifs de f tn ,( ( )) :
y tn (
h = a1 + a 2 h )
coefficients respectifs de
∂f
(
t , y tn
∂t n
( )) : h2
2
= a 2 a 3 h2
coefficients respectifs de
∂f
t ,
∂y n
( ( )) :
y tn
h2
2
(
f tn , ( ))
y t n = a 2 a4 h 2
1 = a1 + a 2
1
=a a
2 2 3
(
f tn , y tn ( ))
= a2a4
2 (7)
a = a = 1
1 2 2
a3 = 1
( ( ))
a4 = f t n , y t n
On établit sans peine que ces coefficients satisfont aux trois équations du
système non linéaire. Il suffit de remplacer ces valeurs dans les équations (5).
( )
Pour ce faire, on doit négliger le terme en O h 3 et remplacer la valeur exacte y t n ( )
par son approximation y n . On obtient alors l’algorithme :
Algorithme
ŷ = yn + h f t n ,( yn ) prédiction
yn+ 1 = yn +
h
[ (
f tn , ) (
y n + f t n+ 1 , ŷ )]
2 correction
t n+ 1 = t n + h (8)
Ecrire tn + 1 et yn + 1
3. Arrêt
Remarque :
Pour faciliter les calculs, l’évaluation de yn + 1 a été scindée en deux étapes. La
d’Euler. On fait ainsi une prédiction ŷ de la solution en tn + 1 qui est corrigé (et
Exercice d’application
Résoudre numériquement y' (t ) = − y (t ) + t + 1 avec comme condition initiale
y (0 ) = 1
Solution
On choisit un pas de temps h = 0 ,1
1ère itération (t=0) :
yn + 1 = y n +
h
2
[ (
f tn , ) (
yn + f t n + 1 , ŷ )]
y1 = y0 +
h
2
[ (
f t0 , ) (
y0 + f t 1 , ŷ )]
y1 = 1 +
0 ,1
2
[(− 1 + 0 + 1) + (− 1 + 0 ,1 + 1)] = 1,005
ŷ = y1 + h f (t1 , y1 )
y 2 = y1 +
h
[ f (t1 , y1 )+ f (t 2 , ŷ )]
2
ŷ = 1 ,005 + 0 ,1(− 1 ,005 + 0 ,1 + 1) = 1 ,0145
0 ,1
y 2 = 1 ,005 + [(− 1,005 + 0 ,1 + 1) + (− 1 ,0145 + 0 ,2 + 1)]
2
= 1 ,019025
ŷ = 1 ,0145 (prédiction)
y 2 = 1 ,019025 (correction)
1 f (t n , y (t n ))
a1 = 0 , a 2 = 1 , a 3 = et a 4 =
2 2
En remplaçant ces valeurs des coefficients ai dans l’équation (5) on a
l’algorithme :
Algorithme
1. Etant donné un pas de temps h, une condition initiale t0 , ( )
y0 et un
(
k1 = h f t n , yn )
h k1
yn + 1 = yn + hf t n + , yn +
2 2
tn+ 1 = tn + h
Ecrire tn + 1 et yn + 1
3. Arrêt
Remarques
1. La fonction f (t , [
y ) est évaluée au point milieu de l’intervalle tn , t n + 1 , ]
c’est pourquoi cette méthode est appelée du point milieu.
2. Les méthodes d’Euler modifiée et du point milieu étant du même ordre de
troncature locale, leur précision est semblable.
h k2
k 3 = h f t n + , yn +
2 2
(
k4 = h f t n + h , yn + k3 )
yn + 1 = y n +
1
(k + 2k2 + 2k3 + k4
6 1
)
t n+ 1 = tn + h
Ecrire tn + 1 et yn + 1
3. Arrêt
y' (t ) = − y (t ) + t + 1
y (0 ) = 1 ( condition initiale )
Solution :
On choisit un pas de temps h = 0 ,1
( )
k1 = h f t0 , y0 = 0 ,1 (− 1 + 0 + 1) = 0
k
k 2 = h f t0 + , y0 + 1 = 0 ,1 f (0 ,05 , 1)
h
2 2
k2
h
k 3 = h f t0 + , y0 + = 0 ,1 f 0 + 0 ,1 , 1 + 0 ,005
2 2 2 2
( )
k4 = hf t0 + h , y0 + k 3 = 0 ,1 f (0 ,1 , 1 ,00475 )
= 0 ,1(− 1 ,00475 + 0 ,1 + 1) = 0 ,009525
y1 = y0 +
1
(
k + 2 k 2 + 2 k 3 + k4
6 1
)
= 1+
1
6
(0 + 2 × 0 ,005 + 2 × 0 ,00475 + 0 ,009525 )
= 1 ,0048375
Et ainsi de suite.
Exercice 2
d2x
dt 2
(
− 1 − x2
dx
dt
)+ x=0
d2x
dt 2
(
− 1 − x2
dx
dt
)
+ x=0
= x' (t )
dx
Posons y =
dt
dy d 2 x
= x' (t ) ⇒
dx
y= = 2
dt dt dt
1
dx = ydt ⇒ x = y 2 + c
2
x (0 ) = ( y (0 )) + c = 0 ,5 or y (0 ) = x' (0 ) = 0
1 2
2
c = 0 ,5
d2x
dt 2
(
= 1 − x2
dx
dt
)
− x = f 1 t , x ,
dx
dt
dy
dt
( )
= 1 − x 2 y − x = f 2 (t , x , y )
dx y = f (t , x , y )
dt = 1
dy
( )
dt = 1 − x y − x = f 2 (t , x ,
2
y)
x (0 ) = 0 ,5 = x0
x' (0 ) = y (0 ) = 0 = y0
(
xn + 1 = xn + h f 1 t n , xn , )
yn = x n + h y n
yn + 1 = yn + h f (t
2 n
, xn , y )= y
n n
[( )
+ h 1 − x n2 yn − xn ]
1ère itération n = 0 :
x1 = x0 + hy0 = 0 ,5 + 0 ,1 × 0 = 0 ,5
[( )
y1 = y0 + h 1 − x02 y0 − x0 ]
= 0 + 0 ,1[(1 − 0 ,5 )× 0 − 0 ,5 ] = −0 ,05
2
x (0 ,1) = x1 = 0 ,5
x' (0 ,1) = y1 = −0 ,05
I=∫
1dx π
= = 0 ,785398163
01+ x 2 4