0% ont trouvé ce document utile (0 vote)
17 vues5 pages

Méthode de Gauss en Matlab

Ce document décrit la méthode de Gauss pour résoudre des systèmes d'équations linéaires. Il présente l'algorithme de la méthode, un exemple numérique, et le code MATLAB correspondant divisé en trois parties : une fonction pour trianguliser la matrice augmentée, une fonction pour résoudre le système triangulaire, et le script principal appelant ces fonctions.

Transféré par

assilainfo0
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)
17 vues5 pages

Méthode de Gauss en Matlab

Ce document décrit la méthode de Gauss pour résoudre des systèmes d'équations linéaires. Il présente l'algorithme de la méthode, un exemple numérique, et le code MATLAB correspondant divisé en trois parties : une fonction pour trianguliser la matrice augmentée, une fonction pour résoudre le système triangulaire, et le script principal appelant ces fonctions.

Transféré par

assilainfo0
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

Université d’Alger 1, Module : A. N.

Matricielle
Faculté des sciences Dépt. Mathématiques et Informatique

TP 1 : Méthode de Gauss

La méthodes choisit : Méthode de Gauss (Méthode directe)


Nom1 : ....................................................Prénom1 :....................................................
Nom2 : ....................................................Prénom2 :....................................................
Spécialité : ....................................................
Groupe : ....................................................

1
1. Le but : Implémentation d’un code Matlab pour résoudre un système d’équations
linéaires Ax = b par la méthode d’élimination de Gauss.
2. Principe de la méthode : Dans la méthode de Gauss, le système Ax = b est trans-
formé pour obtenir un système triangulaire Ãx = b̃ qui est ensuite résolu par remontée
triangulaire.
3. Condition d’utilisation : Les pivots akkk doivent être différents de zéro.
4. Algorithme :
étape1 : Elimination
aik
aij = aij − akj , 1 ≤ k ≤ n − 1, k + 1 ≤ i ≤ n, k ≤ j ≤ n + 1.
akk
étape2 : Résolution du système triangulaire
 a
nn+1
 si k = n ;
annh

xk = 1 n
P i
 akn+1 − akj xj si 1 ≤ k ≤ n − 1.
akk

j=k+1
      
 3x + 2y + z = 1 3 2 1 1 3 2 1 1


     
5. Exemple : x + 3y + 2z = 2 A =   1 3 2  , b =  2  et Ag =  1 3 2 2
    .



 2x + 4y + 6z = 3 2 4 6 3 2 4 6 3
étape1
 :Elimination   
3 2 1 1 3 2 1 1
  −−−−−−−−−− 1
−−−−−−−−−−−−2−→  
7 5 5 
Ag =  1 3 2 2  L2 ← L2 − 3 L1 , L3 ← L3 − 3 L1  0 3 3 3 
 
2 4 6 3 0 83 163
7
3
 
3 2 1 1
−−−−−−−−−− −→  
L3 ← L3 − 87 L2 
 0 7
3
5
3
5 
3 
0 0 7 37
24

étape2
 : Résolution du système triangulaire
1
 3x + 2y + z = 1  3x + 2y + 8 = 1

 

7
3
y + 53 z = 5
3
⇒ 7
3
5
y + 24 = 5
3
 
24
z = 37  z=1

 
7  8
10 1 −1
 3x + 8 + =1  x= 8
 
 8 
⇒ y = 58 ⇒ y= 4
7
 
 z=1
 
 z= 1
8 8
6. Le code Matlab : Notre programme scinder en trois parties :
(a) Écrire une fonction trigauss qui reçoit en argument une matrice Ag et qui renvoie
cette même matrice après triangularisation par la méthode de Gauss.

2
Code matlab de la fonction trigauss
function [Ag]=trigauss(Ag)
n=size(Ag,1) ;
for k=1 :n-1
for i=k+1 :n
w=Ag(i,k)/Ag(k,k) ; % multiplier la ligne i par aik/akk
for j=k :n+1
Ag(i,j)=Ag(i,j)-w*Ag(k,j) ;
% calculer le changement dans toute la ligne
end
end
end
Exemple d’execution de la trigauss
>> Ag =
3 2 1 1
1 3 2 2
2 4 6 3
>> [Ag] = trigauss(Ag)
>> Ag =
3 2 1 1
0 7/3 5/3 5/3
0 0 24/7 3/7
(b) Écrire une fonction soltri qui reçoit en argument la matrice triangulaire précédente
Ag et qui renvoie la solution sol obtenue par remontée triangulaire.
Code matlab de la fonction soltri
function [sol]=trisol(Ag)
n=size(Ag,1) ;
for i=n :-1 :1
s=0 ;
for j=i+1 :n % quand i=n on rentre pas dans la boucle
s=s+Ag(i,j)*sol(j) ;
end
sol(i)=(Ag(i,n+1)-s)/Ag(i,i) ; % on commence par xn après les autres
end

3
Exemple d’execution de la fonction trisol
>> [sol] = trisol(Ag)
>> sol =
−1/8 5/8 1/8
(c) Dans le script principal nommé ”MGauss”, on doit lire la matrice A et le vecteur
b ensuite construire la matrice augmentée Ag, puis Appeler : la fonction trigauss
avec la matrice Ag comme argument et la fonction soltri pour trouver le vecteur
sol solution du système.
Code Matlab de programme MGauss
clc
clear
A=input(’Donner la matrice A associe au système linéaire ’)
b=input(’Donner le second membre b ’)
disp(’La matrice augentée Ag est :’)
Ag=[A b]
format rat % .....Doone les nombres en fraction......
Ag=trigauss(Ag) ;
%....Appel a la fonction trigauss qui permet de triangulariser Ag
disp(’la matrice triangulaire est :’)
Ag
sol=trisol(Ag) ;
%....Appel a ”trisol” qui permet de résoudre le système triangulaire
disp(’la solution est :’)
sol
Exemple d’execution de script MGauss
>> Donner la matrice A associe au système linéaire [3 2 1 ;1 3 2 ;2 4 6 ]
A=
3 2 1
1 3 2
2 4 6
Donner le second membre b [1 ;2 ;3]
b=
1
2
3

4
La matrice augentée Ag est :
Ag =
3 2 1 1
0 7/3 5/3 5/3
0 0 24/7 3/7
la matrice triangulaire est :
Ag =
3 2 1 1
0 7/3 5/3 5/3
0 0 24/7 3/7
la solution est :
sol =
−1/8 5/8 1/8
7. Remarque : Les deux fonctions (trigauss, soltri) et le script MGauss sont envoyés
dans un fichier zip porte le nom suivant : SpécialitéGroupeNom1Nom2

Vous aimerez peut-être aussi