Académique Documents
Professionnel Documents
Culture Documents
Compte rendu du TP 1 : Résolution des systèmes linéaires par les méthodes itératives
Département d’automatique
2023-2024
Sous-group (trinôme) :
-MESSELEM Hadjer Ben Wafae Idrise
- SENOUCI Imène
- SHAHER Rehab Abdurrahman Abdullah Mohammed
Enseignant responsible:
Mr. .ZAGOUG Sid Ahmed
I. Introduction :
Lorsque les méthodes directes deviennent coûteuses en termes de calcul ou inefficaces, les
méthodes itératives sont nécessaires pour résoudre des systèmes linéaires. Les méthodes itératives
sont des méthodes alternatives pour résoudre les systèmes d'équations linéaires (Ax = b)
A : La matrice des coefficients
x : Le vecteur des inconnues (solution)
b : Le vecteur du côté droit.
Les méthodes itératives produisent une solution approximative après un nombre fini d'itérations plutôt
que de calculer directement une solution exacte. Ces méthodes sont particulièrement utiles pour les
grands systèmes d’équations, où il est raisonnable de sacrifier la précision pour un temps de calcul
plus court.
Il existe de nombreuses méthodes itératives, mais celles que nous allons utiliser sont les suivantes :
I.1 La méthode de Jacobi
La méthode de Jacobi consiste à décomposer la matrice des coefficients A en :
• Une matrice diagonale D
• Une matrice triangulaire supérieure U
• Une matrice triangulaire inférieure L
De sorte que (A = D + U + L).
Pour la méthode de Jacobi, la formule d'itération est
0 1 −1 0 0 0
𝑁 = − ([0 0 2 ] + [ 1 0 0])
0 0 0 2 −1 0
0 −1 1
= [−1 0 −2]
−2 1 0
1
0 0
3
1
𝐷−1 = 0 0
5
1
[0 0 − ]
6
1 1 1
0 0 0 −
3 3 3
1 0 −1 1 1 2
𝑻𝑱 = 𝑫−𝟏 𝑵 = 0 0 ∗ [−1 0 −2] = − 0 −
5 −2 1 0 5 5
1 1 1
[0 0 − 6] [ 3 −6 0 ]
1
0 0 2
3
1 2 3
𝑪𝑱 = 𝑫−𝟏 𝒃 = 0 0 ∗ [ 17 ] = 17
5
1
−18 5
[3]
[0 0 −
] 6
𝒙(𝟏) = 𝑻𝑱 𝒙(𝟎) + 𝑪𝑱
1 1
0 − 2
3 3
1 2 0 3 𝟏
𝒙(𝟏) = − 0 − ∗ [0] + 17 = [𝟑]
5 5 1 𝟑
1 1 5
− 0 [ 3 ]
[ 3 6 ]
𝒙(𝟐) = 𝑻𝑱 𝒙(𝟏) + 𝑪𝑱
1 1
0 − 2 𝟐
3 3
1 2 1 3 𝟑 𝟎. 𝟔𝟔𝟔𝟕
𝒙(𝟐) = − 0 − ∗ [3] + 17 = 𝟐 = [ 𝟐. 𝟎𝟎𝟎𝟎 ]
5 5 3 𝟏𝟕 𝟐. 𝟖𝟑𝟑𝟑
1 1 5
− 0 [ 3 ] [ 𝟔 ]
[ 3 6 ]
𝒙(𝟑) = 𝑻𝑱 𝒙(𝟐) + 𝑪𝑱
1 1 𝟏𝟕
0 − 2 2
3 3 𝟏𝟖
1 2 3 3 𝟑𝟐 𝟎. 𝟗𝟒𝟒𝟒
𝒙(𝟑) = − 0 − ∗ 2 + 17 = = [ 𝟐. 𝟏𝟑𝟑𝟑 ]
5 5 17 𝟏𝟓 𝟐. 𝟖𝟖𝟖𝟗
1 1 5 𝟐𝟔
− 0 [6] [3]
[ 3 6 ] [𝟗]
𝒙(𝟒) = 𝑻𝑱 𝒙(𝟑) + 𝑪𝑱
1 1 17 𝟏𝟐𝟒
0 − 2
3 3 18 𝟏𝟑𝟓
1 2 32 3 𝟑𝟕 𝟎. 𝟗𝟏𝟖𝟓
𝒙(𝟒) = − 0 − ∗ + 17 = = [ 𝟐. 𝟎𝟓𝟓𝟔]
5 5 15 𝟏𝟖 𝟐. 𝟗𝟓𝟗𝟑
1 1 26 5 𝟕𝟗𝟗
− 0 [ 3 ]
[ 3 6 ] [9] [𝟐𝟕𝟎]
La méthode de Gauss-Seidel
3 1 −1 0 1 −1
𝐴 = [1 5 2 ] ⟹ 𝑈 = [0 0 2]
2 −1 −6 0 0 0
0 0 0 3 0 0
𝐿 = [1 0 0] 𝐷 = [0 5 0]
2 −1 0 0 0 −6
3 0 0 0 0 0 3 0 0
𝐷 + 𝐿 = [0 5 0 ] + [1 0 0] = [1 5 0]
0 0 −6 2 −1 0 2 −1 −6
1
(𝐷 + 𝐿)−1 = ∗ 𝑐𝑜𝑚((𝐷 + 𝐿)−1 )𝑡
det(𝐷 + 𝐿)−1 )
5 0
det(𝐷 + 𝐿)−1 ) = 3 | | = 3 ∗ ((5 ∗ −6) − (−1 ∗ 0)) = −90
−1 −6
5 0 1 0 1 5
| | | | | |
⏟−1 −6 ⏟2 −6 ⏟ 2 −1
+ − +
0 0 3 0 3 0
𝑐𝑜𝑚((𝐷 + 𝐿)−1 ) = |⏟
1 −6
| |
⏟2
| |
−6 ⏟ 2 −1
|
− + −
0 0 3 0 3 0
| | | | | |
⏟
5 0 ⏟
1 0 ⏟
1 5
[ + − + ]
−30 6 −11
= [ 0 −18 3 ]
0 0 15
−30 0 0
𝑐𝑜𝑚((𝐷 + 𝐿)−1 )𝑡 = [ 6 −18 0 ]
−11 3 15
1 −30 0 0
(𝐷 + 𝐿)−1 = ∗[ 6 −18 0 ]
−90
−11 3 15
1
0 0
3
−1 1
(𝐷 + 𝐿)−1 = 0
15 5
11 −1 −1
[ 90 30 6 ]
1 1 −1
0 0 0
3 0 1 −1 3 3
−1 1 −1 7
𝑇𝑔 = (𝐷 + 𝐿)−1 𝑈 = 15 5
0 ∗ [0 0 2 ]= 0 15 15
11 −1 −1 0 0 0 11 −17
[ 90 30 6 ] [0 90 90 ]
1 2
0 0
3 3
−1 1 2 49
𝐶𝑔 = (𝐷 + 𝐿)−1 𝑏 = 0 ∗ [ 17 ] =
15 5 −18 15
11 −1 −1 241
[ 90 30 6] [ 90 ]
1 −1 2
0
3 3 3
−1 7 0.9204 49 𝟎. 𝟗𝟔𝟓𝟖
𝒙(𝟒) = − 0 ∗ [2.06508] + (𝟒)
⟹ 𝒙 = [𝟐. 𝟎𝟐𝟏𝟕]
15 15 2.96265 15 𝟐. 𝟗𝟖𝟒𝟗
11 −17 241
[0 90 90 ] [ 90 ]
Programme Matlab
clc;
clear all ;
close all;
% Input Values
A=input('Write the Matrix A '' A = ') % A=[3,1,-1;1,5,2;2,-1,-6];
b=input ('Write the Vector b '' b = ') % b = [2; 17;-18];
X0=input ('Write the Vector X0 '' X0 = ') % X0 = [0; 0; 1];
n=input('enter the number of iteration '' n = ') % n = 20;
III. Problème résolu à l'aide des méthodes itératives de résolution des systèmes
linéaires
Le système des équations linéaire est le suivante
10𝑥1 + 3𝑥2 + 𝑥3 = 19
3𝑥1 + 10𝑥2 + 2𝑥3 = 29
𝑥1 + 2𝑥2 + 10𝑥3 = 35
𝑥 0 = [0 ;0 ; 0]
III.1. La solution théorique de système
Pour résoudre se système on va utiliser la méthode directe de Jacobi
1
𝒙𝟏 𝒌+𝟏 = (19 − 3𝒙𝟐 𝒌 − 𝒙𝟑 𝒌 )
10
1
𝒙𝟐 𝒌+𝟏 = (29 − 𝒙𝟏 𝒌 − 2𝒙𝟑 𝒌 )
10
1
𝒙𝟑 𝒌+𝟏 = (35 − 𝒙𝟏 𝒌 − 2𝒙𝟐 𝒌 )
10
⏟
𝟎 ; ⏟
𝟎 ; ⏟
𝟎
𝟏𝒆𝒓 𝒊𝒕𝒆𝒓𝒂𝒕𝒊𝒐𝒏 𝑿𝟎 = [ 𝟎 𝟎
]𝒌=𝟎∶
𝒙𝟏 𝒙𝟐 𝒙𝟑 𝟎
𝒙𝟏 𝟏 = 1/10(19 − 3𝒙𝟐 𝟎 − 𝒙𝟑 𝟎 )
𝒙𝟐 𝟏 = 1/10(29 − 3𝒙𝟏 𝟎 − 2𝒙𝟑 𝟎 )
𝒙𝟑 𝟏 = 1/10(35 − 𝒙𝟏 𝟎 − 2𝒙𝟐 𝟎 )
𝑿𝟏 = [𝟏. 𝟗; 𝟐. 𝟗; 𝟑. 𝟓]
𝒙𝟏 𝟐 = 1/10(19 − 3𝒙𝟐 𝟏 ) − 𝒙𝟑 𝟏 )
𝒙𝟐 𝟐 = 1/10(29 − 3𝒙𝟏 𝟏 − 2𝒙𝟑 𝟏 )
𝒙𝟑 𝟐 = 1/10(35 − 𝒙𝟏 𝟏 − 2𝒙𝟐 𝟏 )
𝑿𝟐 = [𝟎. 𝟔𝟖𝟎; 𝟏. 𝟔𝟑; 𝟐. 𝟕]
𝒙𝟏 𝟑 = 1/10(19 − 3𝒙𝟐 𝟐 − 𝒙𝟑 𝟐 )
𝒙𝟐 𝟑 = 1/10(29 − 3𝒙𝟏 𝟐 − 2𝒙𝟑 𝟐 )
𝒙𝟑 𝟑 = 1/10(35 − 𝒙𝟏 𝟐 − 2𝒙𝟐 𝟐 )
𝑿𝟑 = [𝟏. 𝟏𝟑𝟖; 𝟐. 𝟏𝟓; 𝟑. 𝟏𝟎𝟔 ]
𝒙𝟏 𝟒 = 1/10(19 − 3𝒙𝟐 𝟑 − 𝒙𝟑 𝟑 )
𝒙𝟐 𝟒 = 1/10(29 − 3𝒙𝟏 𝟑 − 2𝒙𝟑 𝟑 )
𝒙𝟑 𝟒 = 1/10(35 − 𝒙𝟏 𝟑 − 2𝒙𝟐 𝟑 )
𝑿𝟒 = [𝟎. 𝟗𝟒𝟒𝟒; 𝟏. 𝟗𝟑𝟕𝟒; 𝟐. 𝟗𝟓𝟔𝟐]
N = length(B);
X = zeros(N, 1);
for j = 1:n
for i = 1:N
X(i) = (B(i) / A(i, i)) - (A(i, [1:i-1, i+1:N]) * P([1:i-1, i+1:N])) / A(i, i);
end
P = X;
fprintf('Iteration number %d\n', j);
end
Résultant obtenu
Enter the coefficient matrix A: [10,3,1;3,10,2;1,2,10]
Enter the source vector B : [19;29;35]
Enter the initial guess vector : [0;0;0]
Enter the number of iterations : 5
Enter the tolerance : 1e-3
Iteration number 1
Iteration number 2
Iteration number 3
Iteration number 4
Iteration number 5
Converged solution:
1.0232
2.0254
3.0181