Vous êtes sur la page 1sur 6

UNIVERSITE KASDI MERBAH-OUARGLA

Faculté : FHERSTU
Département : Forage et MCP
Module : informatique

Manuelle du TP Langage matlab

Découverte de matlab 05 : à propos des vecteurs, matrices et tableaux.

1) manipulation des scalaires, vecteurs et matrices


>> a = 3
a =
3

>> b = [ 1 2 3 ]
b =
1 3 8

>> c = [ 3 2 ; 4 1]
c =
3 2
4 1

>> d = [ 3 -6 2 ]
d =
3 -6 2

>> d = [ 3 ; 5 ; 4 ]
d =
3
5
4

En matlab il existe un seul type d’objet défini par les matrices :


 Les scalaires sont définis par des matrices (1 × 1).
 les vecteurs lignes définis par des matrices (1 × n).
 les vecteurs colonnes définis par des matrices (n × 1).

Pour créer une matrice en mettre les différentes valeurs entre des crochets [ ] , avec un virgule(,)
ou un espace ( ) entre chaque valeur de la même ligne , un point-virgule (;) indiquant le passage
`a la ligne suivante.

Chargé par : LANANI sadok Page 1


%... whos : afficher les variables présentes dans l’espace de travail en détailles ….. %

>> whos

Name Size Bytes Class Attributes

a 1x1 8 double
 a est un scalaire ( une matrice 1x1).
b 1x3 24 double
 b est un vecteur ligne (une matrice 1x3).
c 2x2 32 double
 c est une matrice (2x2).
d 3x1 24 double
 d est un vecteur ligne (une matrice 1x3).
e 1x3 24 double
 e est un vecteur colonne (une matrice 3x1).

2) Les Fonctions vectorielles et opérations matricielles :

2-1 Fonctions vectorielles

Un vecteur V

 max(V) retourne le maximum d'éléments d'un vecteur V.

 min(V) retourne le minimum d'éléments d'un vecteur V.

 sort(V) le tri par ordre croissant d’un vecteur V.

 [y, I] = sort(V) retourne en plus les indices des éléments de V.

 find(V) retourne les indices non nuls de V.

 [y, I] = find(V) retourne des lignes (dans le vecteur I) et des colonnes (dans le
vecteur J) des éléments non nuls du V.

 sum(V) retourne la somme des éléments de V.

 cumsum(V) retourne un vecteur contenant la somme cumulée des éléments de V.

 prod(V) retourne le produit des éléments de V.

Chargé par : LANANI sadok Page 2


 cumprod(V) retourne un vecteur contenant le produit cumulée des éléments de V.

 diff(V) retourne un vecteur des différences entre deux éléments consécutifs de V.

 mean(V) retourne le moyenne des éléments de V

 median(V) retourne le médiane

 std(V) retourne l écart type

2-2 opérations matricielles

Une matrice A

 A’  transposée de A
 rank(A)  rang de A
 inv(A)  inverse de A
 expm(A)  exponentielle de A
 det(A)  déterminant de A
 trace(A)  trace de A
 poly(A)  polynôme caractéristique de A
 eig(A)  valeurs propres de A
 [U,D]=eig(A) vecteurs propres et valeurs propres de A
 + -  Opérations arithmétiques : addition, soustraction
 * ^  Opérations arithmétiques : multiplication, puissance (matricielles)
 .* .^  multiplication, puissance terme `a terme
 A \b  résultat du Ax = b
 b/ A  résultat de xA = b
 ./  division terme `a terme
On peut aussi utiliser les deux points pour extraire une sous-matrice d’une matrice A.
 A ( : , j ) extrait la j ème colonne de A. On considère successivement toutes les
lignes de A et on choisit le j ème élément de chaque ligne.
 A ( i, : ) extrait la i ème ligne de A.
 A(:) reforme le matrice A en un seul vecteur colonne en concaténant toutes les
colonnes de A.
 A(j:k) extrait les éléments j à k de A et les stocke dans un vecteur ligne
 A(:,j:k) extrait la sous-matrice de A formée des colonnes j à k.
 A(j:k,:) extrait la sous-matrice de A formée des lignes j à k
 A(j:k,q:r) extrait la sous-matrice de A formée des éléments situés dans les lignes j à
k et dans les colonnes q à r.

3- Indexation du vecteurs et de matrices

Chargé par : LANANI sadok Page 3


Pour extraire un élément d’un vecteur V , il suffit de spécifier l’indice dans la ligne où se

trouve cet élément.

>> V = [ 1 3 8 4 ]

>> V(3)

ans = 8
Pour extraire un élément d’une matrice, il suffit de spécifier l’indice de la ligne et celui de la
colonne où se trouve cet élément.

A(m,n) est l’élément en ligne m et en colonne n de la matrice A.


ème
A(k) est le K élément de la matrice en la parcourant en colonne.

m, n et k peuvent être des vecteurs d’indices. Dans Matlab, l’indexation commence à 1.

Applications :

En utilisant le langage de programmation MATLAB , écrire le programme de résolution


de systèmes linéaires par les méthodes directes(GAUSS) et appliquer pour les exemples
suivant :
1)
a=[6 1 3;
4 2 7;
3 1 5];
b=[3 2 5 ];

2)
a=[2 -1 -1;
1 -1 1;
1 -2 -1];
b=[4 -1 0 ];
3)
a=[2 -1 1;
-1 -1 1;
1 22 -1];
b=[4 1 0 ];

Chargé par : LANANI sadok Page 4


Réf :
 MATLAB : prise en main F. Delebecque et J.C. Pesquet
 travaux pratique à matlab : Nicolas.Szafran http://www-ljk.imag.fr/
 introduction à A MATLAB : http://www.math.ens.fr/cours-
apprentissage/TP/TPIntro.pdf
 matlab pour tous : https://matlabpourtous.com/matlab/les-matrices/indexation-de-matrices/
 Matlab, à propos des scalaires, vecteurs, matrices et tableaux : Fabrice Sincère
 Algèbre linéaire et applications de David Lay (éd. Pearson) https://cpge.lyc-montesquieu-
72.fr/IMG/pdf/pivotdegauss.pdf

Chargé par : LANANI sadok Page 5


Rappels sur le pivot de Gauss
L’algorithme du pivot de Gauss se déroule de la façon suivante :
— on choisit un pivot non nul dans la première colonne, disons sur la ligne i ;
— on échange la première et la i-ème ligne ;
ak1
— on effectue les opérations suivantes sur les lignes 2 ≤ k ≤ n : Lk ← Lk − L1 ;
a11
— on passe à la colonne suivante ;
À la colonne j, on effectue les opérations suivantes :
— on choisit un pivot non nul dans la colonne j dans une ligne d’indice supérieur (≥) à j ;
— on ramène le pivot sur la ligne j en effectuant éventuellement un échange de lignes ;
akj
— on effectue les opérations suivantes sur les lignes j < k ≤ n : Lk ← Lk − Lj .
ajj
Ces opérations ont pour effet de transformer le système en un système triangulaire. Une fois arrivé à un système
triangulaire de la forme :  ∗

 a11 u1 + a∗12 u2 + · · · + a∗1n un = b∗1

 a∗22 u2 + · · · + a∗2n un = b∗2
 ..

 .

a∗nn un = b∗n
il suffit d’effectuer les opérations suivantes :
b∗n
un = (1)
a∗nn
1
un−1 = (b∗ − a∗n−1,n un ) (2)
an−1,n−1 n−1

..
. (3)
1
u1 = (b∗ − a∗12 u2 − · · · − a∗1n un ) (4)
a∗11 1

Vous aimerez peut-être aussi