Académique Documents
Professionnel Documents
Culture Documents
Le but de ce chapitre est de proposer quelques méthodes de résolution des systèmes d’équa-
tions tel que :
a11 x1 +a12 x2 +··· +a1n xn = b1
a21 x1
+a22 x2 +··· +a2n xn = b2
.. .. .. .. ..
. . . . .
a x
m1 1 +am2 x2 + · · · +amn xn = bm
x = A−1 × B
27
Méthodes Numériques et programmation 2eme physique
1 3 5 6
On a la matrice A= 2 −1 0 et la matrice B= 0
5 4 3 −1
La solution par Matlab est :
Dans cette méthode, on choisit successivement chaque ligne comme ligne pivot, le pivot étant
le premier élément non nul de la ligne. On divise alors la ligne N˚1 du système par a11 :
a a12 a13
b1
11
x1
a11 a11 a11 a11
a21 a22 a23 x2 = b2
a31 a32 a33 x3 b3
On annule ensuite le premier terme de chacune des autres lignes, en retranchant à la 2ème
ligne la 1ère ligne multipliée par a21 , à la 3ème ligne la 1ère ligne multipliée par a31 , etc ...
c
RAHAB Hichem ¥2016-2017 28 rahab.e-monsite.com
Méthodes Numériques et programmation 2eme physique
1 a′12 a′13 x1 b′1
a21 − a21 a22 − a21 ∗ a′12 a23 − a21 ∗ a′13 x2 = b2 − a21 × b′1
a31 a32 a33 x3 b3
1 a′12 a′13 x1 b′1
0 a′22 a′23
′
x2 = b2
a31 a32 a33 x3 b3
De même pour la troisième ligne :
1 a′12 a′13 x1 b′1
a′22 a′23
′
0 x2 = b2
a31 − a31 a32 − a31 ∗ a′12 a33 − a31 ∗ a′13 x3 b3 − a31 ∗ b′1
Alors :
1 a′12 a′13 x1 b′1
0 a′22 a′23
′
x2 = b2
0 a′32 a′33 x3 b′3
On procède ainsi avec la deuxième linge :
Alors :
1 a′12 a′13 x1 b′1
0 1 a′′23
′′
x2 = b
′
0 a32 a33′ x3 b′3
On annule ensuite le deuxième terme des lignes 1 et 3, en retranchant à la 1ère ligne la 2ème
ligne multipliée par a12 , à la 3ème ligne la 2ème ligne multipliée par a32 .
1 a′12 − (a′12 × 1) a′13 − (a′12 × a′′23 ) x1 b′1 − (a′12 × b′′2 )
a′′23
′′
0 1 x2 = b2
0 a′32 − (a′32 × 1) a′33 − (a′32 × a′′23 ) x3 b′3 − (a′32 × b′′2 )
On obtient :
1 0 a′′13 x1 b′′1
0 1 a′′23
′′
x2 = b2
0 0 a′′33 x3 b′′3
La solution du système peut être obtenue ainsi :
n
x1 = b1
2 x = bn
2
x = bn
1 3
c
RAHAB Hichem ¥2016-2017 29 rahab.e-monsite.com
Méthodes Numériques et programmation 2eme physique
On écrit :
4 1 1 x1 7
1 −7 2 x = −2
2
3 0 4 x3 11
4 1 1 7
1 41 14 74
4 4 4 4
A = 1 −7 2 −2 = 1 −7 2 −2
3 0 4 11 3 0 4 11
On annule ensuite le premier terme des lignes 2 et 3, en retranchant à la 2ème ligne la 1ère ligne
multipliée par ’1’, à la 3ème ligne la 1ère ligne multipliée par ’3’,
1 1 7 1 1 7
1 4 4 4 1 4 4 4
1 1 7
A= 1−1 −7 − 2− −2 − = 0 − 29 7
− 15
4 4 4 4 4 4
1 1 7
3−3 0−3× 4 4−3× 4 11 − 3 × 4 0 − 43 13
4
23
4
1 1 7
1
1 1 7
4 4 4 1 4 4 4
−29 7 −15
15
−7
A= = 0 1
0
4 4 4
−29 −29 −29 29 29
4 4 4
0 − 34 13 23 0 − 34 13
4
23
4
4 4
On annule ensuite le deuxième terme des lignes 1 et 3, en retranchant à la 1ère ligne la 2ème
ligne multipliée par ’ 41 ’, à la 3ème ligne la 2ème ligne multipliée par ’ −3
4 ’,
1 1 1 1 −7 7 1 15 9 188
1 4 − 4 ×1 4 − 4 × 29 4 − 4 × 29 1 0 29 116
−7 15 −7 15
A= 0 1 = 0 1
29 29 29 29
−3 13 23 15 356 712
0 4 − ( −3
4 × 1) 4 − ( −3
4 ×
−7
29 ) 4 − ( −3
4 × 29 ) 0 0 116 116
9 188
1 0
9 188
29 116 1 0 29 116
0 1 −7 15
15
−7
A= 29 29 = 0 1
29 29
356 712
0 0 116
356
116
356 0 0 1 2
116 116
c
RAHAB Hichem ¥2016-2017 30 rahab.e-monsite.com
Méthodes Numériques et programmation 2eme physique
Comme a été fait avant on annule ensuite le troisième terme des lignes 1 et 2, en retranchant
9
à la 1ère ligne la 3ème ligne multipliée par ’ 29 ’, à la 2ème ligne la 3ème ligne multipliée par ’ −7
29 ’.
9 9 188 9
1 0 29 − ( 29 × 1) 116 − ( 29 × 2)
1 0 0 1
−7 15
A= 0 1 − ( −7
29 × 1)
−7
29 − ( 29 × 2) = 0 1 0 1
29
0 0 1 2
0 0 1 2
Programme Matlab
Le programme Matlab correspondent à la résolution d’un système de 3 équations à l’aide de la
méthode de Gauss-Jordan est donné par la fonction Matlab suivante :
function [x]=Gauss(A)
Pivot=A(2,1);
for j=1:4
A(2,j)=A(2,j)- Pivot*A(1,j);
end
Pivot=A(3,1);
for j=1:4
A(3,j)=A(3,j)- Pivot*A(1,j);
end
Pivot=A(1,2);
for j=2:4
A(1,j)=A(1,j)- Pivot*A(2,j);
end
Pivot=A(3,2);
for j=2:4
A(3,j)=A(3,j)- Pivot*A(2,j);
end
c
RAHAB Hichem ¥2016-2017 31 rahab.e-monsite.com
Méthodes Numériques et programmation 2eme physique
A(3,j)=A(3,j)/Pivot;
end
Pivot=A(1,3) ;
for j=3:4
A(1,j)=A(1,j)-Pivot*A(3,j);
end
Pivot=A(2,3);
for j=3:4
A(2,j)=A(2,j)- Pivot*A(3,j);
end
x(1)=A(1,4);
x(2)=A(2,4);
x(3)=A(3,4);
x =
c
RAHAB Hichem ¥2016-2017 32 rahab.e-monsite.com
Méthodes Numériques et programmation 2eme physique
Itération N 1
En partant de x(0) = (0, 0, 0)
x1 = (4 − 2(0) − (0))/4 = 1
x2 = (2 + 1)/2 = 3/2
x3 = (9 − 2(1) − 3/2)/4 = 11/8
x(1) = (1, 23 , 11
8 )
Itération N 2
En partant de : x(1) = (1, 32 , 11
8 )
x1 = (4 − 2( 23 ) − ( 11
−3
8 ))/4 = 32
61
x2 = (2 − −3 )/2 =
32 64
−3 61 527
x3 = (9 − 2( 32 ) − ( 64 ))/4 = 256
61 527
x(2) = ( −3
32 , 64 , 256 )
Itération N 3
61 527
En partant de : x(2) = ( −3
32 , 64 , 256 )
x1 = (4 − 2( 61 527 9
64 ) − ( 256 ))/4 = 1024
9 2057
x2 = (2 + 1024 )/2 =
2048
9 2057 16339
x3 = (9 − 2( 1024 ) − ( 2048 ))/4 = 8192
9 2057 16339 ∼
x(3) = ( 1024 , 2048 , 8192 ) = (0.0087, 1.0043, 1.9945)
c
RAHAB Hichem ¥2016-2017 33 rahab.e-monsite.com
Méthodes Numériques et programmation 2eme physique
Remarque :
Le Iter représente le nombre d’itérations qu’on désire faire pour approximer la solution.
>> [x]=Gauss_seidel(A,B,3)
x =
c
RAHAB Hichem ¥2016-2017 34 rahab.e-monsite.com
Méthodes Numériques et programmation 2eme physique
x =
iter =
17
c
RAHAB Hichem ¥2016-2017 35 rahab.e-monsite.com