Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Objectif
L’objectif de ce TP est d’écrire une fonction Matlab qui résout le système linéaire
AX = b
en utilisant les méthodes itératives de Jacobi et de Gauss-Seidel, où A ∈ Mn (R) est une matrice
inversible connue, b est un vecteur de Rn donné et X est le vecteur de Rn inconnu.
Principe
Le principe de toutes les méthodes itératives est de construire une suite de vecteurs X (k) , k ∈ N, qui
converge vers le vecteur X solution du système linéaire AX = b. On décompose la matrice A ∈ Mn (R)
sous la forme A = M − N , où M est une matrice inversible et on réécrit le système linéaire AX = b
que l’on souhaite résoudre sous la forme d’un problème de point fixe
X = M −1 N X + M −1 b.
A = D − E − F,
où D est une matrice diagonale inversible, E est une matrice strictement triangulaire inférieure et F
est une matrice strictement triangulaire supérieure.
1. Méthode de Jacobi
La méthode de Jacobi est la méthode itérative de type (1) pour laquelle M = D et N = E + F .
1. Ecrire une fonction Matlab que vous appellerai Jacobi basée sur la méthode de Jacobi qui ren-
voie les différentes approximations de la solution X et le rayon spectral de la matrice d’itération
B à partir des données A, b, X0 et maxiter, où A est la matrice du système linéaire à résoudre,
b est le second membre du système linéaire, X0 est le vecteur initial de la méthode itérative et
maxiter est le nombre maximal d’itérations.
2
Remarquer qu’il est possible que la méthode itérative ne converge pas pour la matrice don-
née. Dans ce cas pour éviter de faire une infinité d’itérations on fixera un nombre maximal
d’itérations.
2. Tester et valider votre fonction Matlab Jacobi par les exemples suivants :
0
A1 X = b1 , A2 X = b1 , A3 X = b2 , X (0) = 0 et maxiter = 25,
0
avec
1 2 −2 2 −1 1 1
A1 = 1 1 1 , A2 = 2 2 2 , b1 = 1 , (2)
2 2 1 −1 −1 2 1
2 −1 0 1
A3 = −1 2 −1 et b2 = 0 . (3)
0 −1 2 1
La méthode de Jacobi converge t-elle pour ces systèmes ?
3. Comparer les résultats de Jacobi(Ai , bj , X0 , maxiter) avec Ai \bj , pour i = 1, 2, 3 et j = 1, 2.
Noter que la commande backslash "\" est utilisée pour la résolution des systèmes linéaires.
4. Prenez quelques exemples de TD pour tester votre fonction Matlab Jacobi. Comparer les
résultats obtenus en TD avec les résultats obtenus par la fonction Matlab Jacobi.
2. Méthode de Gauss-Seidel
La méthode de Gauss-Seidel est la méthode itérative de type (1) pour laquelle M = D − E et
N = F.
1. Ecrire une fonction Matlab que vous appellerai GaussSeidel associée à la méthode de Gauss-
Seidel qui renvoie les différentes approximations de la solution X et le rayon spectral de la
matrice d’itération B à partir des données A, b, X0 et maxiter, où A est la matrice du système
linéaire à résoudre, b est le second membre du système linéaire, X0 est le vecteur initial de la
méthode itérative et maxiter est le nombre maximal d’itérations.
2. Tester la fonction Matlab obtenue sur les exemples (2) et (3). La méthode de Gauss-Seidel
converge t-elle pour ces systèmes ?
3. Prenez quelques exemples de TD pour tester votre fonction Matlab GaussSeidel. Comparer
les résultats obtenus en TD avec les résultats obtenus par la fonction Matlab GaussSeidel.