You are on page 1of 4

UNIVERSITE de BRETAGNE du SUD Ecole Nationale Supérieure Des Ingénieurs De Bretagne Du Sud

Compte Rendu TP2 : Résolution de systèmes linéaires par des méthodes itératives

 AL ECHCHEIKH EL ALOUI Adnane
Réalisé par

Année Universitaire 2010/2011

 Mr Mr Ludovic Billot

Encadré par

1

Introduction
Méthode de Jacobi, due au mathématicien allemand Karl Jacobi, est une méthode itérative de (k) résolution d'un système matriciel de la forme Ax=b. Pour cela, on utilise une suitex qui converge vers un point fixe x, solution du système d'équations linéaires. La méthode de Gauss-Seidel est une méthode itérative de résolution d'un système matriciel de la forme Ax = b. Pour cela, on utilise une suite x(k) qui converge vers un point fixe x, solution du système d'équations linéaires. En notant A = [a ij ] ij et b = [b i ] i , on construit la suite :

Ce qui revient, en décomposant A en matrices triangulaires :

x(k) = (D − L) − 1(Ux(k − 1) + b) où D est la partie diagonale de A, − L sa partie triangle inférieure
et − U sa partie triangle supérieure: A = D − L − U

Exercice 1
 Méthode de Jacobi function [X,cp]=jacobi (A,B,precision,max,X2) D=diag(diag(A)); F=triu(A,1); E=tril(A,-1); cp=0; L=(E+F); arret=1; while(cp<=max)&(arret>precision) cp=cp+1; X=D\(B-L*X2); arret=norm(X-X2,inf); X2=X; end
%Dans cette fonction on calcul une vecteur solution AX=B %pour trouver la diagonale de A %triangle supérieur de la matrice A %triangle inférieur de la matrice A %somme des matrice de triangle supérieur et inférieur

2

 Méthode de Gauss function [X,cp] =gausseideil(A,B,precision,max,X2) D=diag(diag(A)); F=triu(A,1); E=tril(A,-1); cp=0; L=(E+F); arret=1; while(cp<=max)&(arret>precision) cp=cp+1; X=(D+E)\(B-F)*X2; arret=norm(X-X2,inf); X2=X; end

Exercice 2
Soit à résoudre le système linéaire AX=B avec A= [9 -2 1;-1 5 -1;1 -2 9] et B= [13;9;-11]; 1) - Calcul du conditionnement de A: Cond(A)= ans = 2.5413 Conclusion : la matrice A est bien conditionnée, 3) Résolution du système linéaire pour différentes valeurs du vecteur de départ. Cp : c’est le compteur Pour X0= (0 ; 0 ; 0) A=[9 -2 1;-1 5 -1;1 -2 9]; B=[13;9;-11]; precision=10^(-6); X2=[0;0;0]; max=1000;

X= 2.0000 2.0000 -1.000 cp= 14 X= 2.0000 2.0000 -1.000 Cp=
3

function:
[X,cp] =jacobi(A,B,precision,max,X2); X,cp A=[9 -2 1;-1 5 -1;1 -2 9]; B=[13;9;-11]; precision=10^(-6); X2=[10;-5;6]; max=1000;

Pour X0= (10 ; -5 ; 6)

function:

Pour X0(100 ; 2000 ; 5)

[X,cp] =jacobi(A,B,precision,max,X2); X,cp A=[9 -2 1;-1 5 -1;1 -2 9]; B=[13;9;-11]; precision=10^(-6); X2=[100;2000;5]; max=1000;

17 X= 2.0000 2.0000 -1.0000 Cp= 21

function:
[X,cp] =jacobi(A,B,precision,max,X2); X,cp

On constate que quelques soient la valeur du vecteur de départ on constate que la suite converge
4) Le vecteur nul est le vecteur de départ et on change la précision : Pour : Précision=10^(-2) cp=5 Précision=10^(-4) cp=9 Précision=10^(-6) cp=14 Précision=10^(-8) cp=18 Précision=10^(-10) cp=23

Donc si on augment la précision c’est logique on va avoir plus de boucle de test

4