0% ont trouvé ce document utile (0 vote)
66 vues2 pages

TP2

Le document décrit comment résoudre des systèmes d'équations linéaires en utilisant Matlab, en utilisant des méthodes directes comme la remontée et la descente triangulaire, la méthode de Gauss et la décomposition LU, ainsi que des méthodes itératives comme Jacobi, Gauss-Seidel et la relaxation.

Transféré par

Nowe Ahmade
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
66 vues2 pages

TP2

Le document décrit comment résoudre des systèmes d'équations linéaires en utilisant Matlab, en utilisant des méthodes directes comme la remontée et la descente triangulaire, la méthode de Gauss et la décomposition LU, ainsi que des méthodes itératives comme Jacobi, Gauss-Seidel et la relaxation.

Transféré par

Nowe Ahmade
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

U n i v e r s i t é M o u l a y I s m aı̈ l

E.N.S.A.M.–M e k n è s
Calcul Matriciel Numérique
1ère Année Cycle Ingénieur, Semestre 1
2020-2021

Résolution des systèmes d’équations linéaires


TD/TP N o 2

Objet : En utilisant Matlab, résoudre un système d’équations linéaires par les méthodes directes et les méthodes itératives

1. Méthodes directes :
(a) On considère le système suivant: 
 x + 2y − z = 3
−y + 5z = 2 (1)
3z = 3

Écrire une fonction matlab qui résout par remontée triangulaire un système linéaire U x = b où U est une matrice
triangulaire supérieure selon le prototype suivant:
function [x]=remontee(U,b) \\
\hspace*{2cm} \vdots \\
end \\
Donner la solution du système (1) et comparer la à la solution donnée en utilisant l’opérateur \ de matlab.
Calculer ensuite exactement le nombre d’opérations élémentaires (+,-,*,/) nécessaire à la résolution d’un système
linéaire avec une matrice triangulaire supérieure d’ordre n.
(b) On considère le système suivant: 
 2x = 4
−5x + 3y = 5 (2)
2x + 2y − z = 3

Écrire une fonction matlab qui résout par descente triangulaire un système linéaire Lx = b où L est une matrice
triangulaire inférieure selon le prototype suivant:
function [x]=descente(L,b)\\
\hspace*{2cm} \vdots \\
end \\
Donner la solution du système (2) et comparer la à la solution donnée en utilisant l’opérateur \ de matlab.
(c) On considère le système suivant: 
 4x − y + z = 7
4x − 8y + z = −21 (3)
−2x + y + 5z = 15

Écrire une fonction matlab qui résout un système linéaire Ax = b par la méthode de Gauss selon le prototype suivant:
function [x]=gauss(A,b)\\
\hspace*{2cm} \vdots \\
end \\
On pourra utiliser les fonctions déjà créées dans les questions précédentes. Donner la solution du système (3) et
comparer la à la solution donnée en utilisant l’opérateur \ de matlab.
(d) Ecrire une fonction matlab qui résout un système linéaire Ax = b par la méthode de décomposition LU (crout) selon
le prototype suivant:
function [L,U,x]=crout(A,b)\\
\hspace*{2cm} \vdots \\
end \\
Donner la solution du système (3) et comparer le résulat à celui obtenu en utilisant la fonction lu de matlab.
2. Méthodes itératives :
(a) On reprend le système précédent: 
 4x − y + z = 7
4x − 8y + z = −21 (4)
−2x + y + 5z = 15

Écrire une fonction matlab qui résout un système linéaire Ax = b par la méthode de Jacobi selon le prototype suivant:
function [X,niter] = jacobi(A,b,X0,nmax,tol)\\
\hspace*{2cm} \vdots \\
end \\
avec comme paramètres d’entrée la matrice A, le second membre b, le vecteur initial X0, le nombre maximal nmax
d’itérations et l’erreur tolérée tol. Donner la solution approchée du système (3) et comparer le nombre d’itérations et
l’erreur de cette méthode en variant les tests d’arrêt.
(b) reprendre la question précédente en utilisant la méthode de Gauss-Seidel selon le prototype suivant:
function [X,niter] = gseidel(A,b,X0,nmax,tol)\\
\hspace*{2cm} \vdots \\
end
(c) reprendre la question précédente en utilisant la méthode de relaxation selon le prototype suivant:
function [X,niter] = relaxation(A,b,X0,w,nmax,tol)\\
\hspace*{2cm} \vdots \\
end
où w désigne le paramètre de relaxation.
Tracer le nombre d’itérations en fonction du paramètre de relaxation w ∈ [0, 2] avec un test d’arrêt fixé.

Vous aimerez peut-être aussi