Vous êtes sur la page 1sur 44

LOGICIEL MATLAB

Dr. DIENG Habib Boubacar


LOSEC/Département Physique – UFR ST - UASZ

Cours Dr. DIENG : LOGICIEL MATLAB 2020 - 2024


Chapitre 2 : vecteurs et matrices
2.1 Déclarer, Accéder aux éléments d’une matrice, Concaténer des
matrices
2.2. Taille d’une matrice & Filtrage de matrices
2.3. Opérations sur les matrices

Cours Dr. DIENG : Logiciel Matlab 2020 - 2024


Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
concaténer des matrices sur MATLAB
Définitions :

Soit la matrice A = (aij). Si les éléments de A sont des réels, on


écrit A ∈ Rm×n , et A ∈ Cm×n s’ils sont complexes.

 Les matrices carrées de dimension n sont celles pour


lesquelles m =n.

 Une matrice n’ayant qu’une colonne est un vecteur colonne

 Une matrice n’ayant qu’une ligne est un vecteur ligne


3
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Déclarer des matrices
Pour définir une matrice en MATLAB, on doit écrire ses
éléments de la première à la dernière ligne dans une
parenthèse, en utilisant le caractère ; pour séparer les lignes et
un espace pour séparer es colonnes.
Par exemple, la commande
>> A = [1 2 3; 4 5 6]
donne
A=
1 2 3
4 5 6 c’est une matrice 2 × 3
4
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Déclarer des vecteurs
Exemple un vecteur ligne Exemple un vecteur colonne
>> A = [1.4 2 3.01] >> A = [1; 2.7; 3]
Donne donne
A= A=
1.4 2 3.01 1
2.7
3

5
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Créer des matrices et des vecteurs
Il existe différentes méthodes pour créer automatiquement des
matrices (où des vecteurs) :
Exemples :
 fonctions renvoyant une matrice identité de taille N : eye(N),
 une matrice de 1 : ones(N,M)
 une matrice de 0 : zeros(N,M)
 la commande A = [] définit une matrice vide
>> eye(2) >> ones(2,4) >> zeros(3,2)
ans = ans = ans =
1 0 1 1 1 1 0 0
0 1 1 1 1 1 0 0
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024 0 0 6
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Créer des matrices et des vecteurs

La commande zeros(n,1) (resp. zeros(1,n)) définit un


vecteur colonne (resp. ligne), qu’on notera 0, de dimension n et
de composantes nulles.

De même, la commande ones(n,1) définit le vecteur colonne,


noté 1, dont les composantes sont toutes égales à 1.

7
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Créer des matrices et des vecteurs
Autres exemples :
 Un vecteur constitué de 10 valeurs équidistantes entre 1 et 5
>> V = linspace(1,5,10)
 Vecteur contenant des valeurs allant de 1 à 7 avec un pas de 1
>> V = 1:7
Vecteur contenant des valeurs allant de -10 à 12 avec un pas de 2
>> V = -10:2:12
 Matrices (2x3) contenant des variables aléatoires générées selon
les lois de probabilité uniforme ou normale
>> rand(2,3) >> randn(2,3)
8
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Accéder aux éléments d’une matrice
>> A = [1 3; 4 2]
A=
1 3
4 2
L’accès aux valeurs se fait grâce aux parenthèses en précisant
d’abord la ligne puis la colonne :
>> A(2,1)
ans =
4
NB : En MATLAB, la numérotation des lignes et des colonnes
commence par 1. Par contre en C où sous Python elle
commence par 0. 9
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Accéder aux éléments d’une matrice
Autre méthode de numérotation des éléments d’une matrice :
numérotation unique
>> A = [1 3 7; 5 4.4 2; 6 9.1 8; 1.5 3.2 9]
A=
11.3 53 97 Cette numérotation est moins utilisée
25 64.4 102
36 79.1 118
41.5 83.2 129

>> A(6)
ans =
4.4000
10
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Accéder aux éléments d’une matrice
On peut également extraire des sous-matrices B et C dans une
matrice initiale A.
Soit la matrice A
>> A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16; 17 18 19 20]
A=
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
11
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Accéder aux éléments d’une matrice
1 2 3 4 >> B=A(2:4,2:4) ou B=A(2:4,2:end)
5 6 7 8 B=
9 10 11 12 6 7 8
13 14 15 16 10 11 12
17 18 19 20 14 15 16
1 2 3 4 >> C=A(:,2:3) ou C=A(1:end,2:3)
5 6 7 8 C=
9 10 11 12 2 3
13 14 15 16 6 7
17 18 19 20 10 11
14 15
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
18 19 12
Chapitre 2 : Vecteurs et Matrices
2.1 Déclarer, Accéder aux éléments d’une matrice,
Concaténer des matrices
Concaténer des matrices
A= B= C=
1 2 3 4 6 7 8 21 2 3
5 6 7 8 10 11 12 22 6 7
9 10 11 12 14 15 16 23 10 11
13 14 15 16 14 15
17 18 19 20 18 19

>> D=[A,C] ou >> D=[A C] >> E=[A;B]


D= E=
1 2 3 4 2 3 1 2 3 4
5 6 7 8 6 7 5 6 7 8
9 10 11 12 10 11 9 10 11 12
13 14 15 16 14 15 13 14 15 16
17 18 19 20 18 19 17 18 19 20
6 7 8 21
10 11 12 22 13
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024 14 15 16 23
Chapitre 2 : vecteurs et matrices
2.1 Déclarer, Accéder aux éléments d’une matrice, Concaténer des
matrices
2.2. Taille d’une matrice & Filtrage de matrices
2.3. Opérations sur les matrices

Cours Dr. DIENG : Logiciel Matlab 2020 - 2024


Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Taille d’une matrice et d’un vecteur
A= B= C=
1 2 3 4 6 7 8 2 3
5 6 7 8 10 11 12 6 7
9 10 11 12 14 15 16 10 11
13 14 15 16 14 15
17 18 19 20 18 19
La commande size retourne le nombre de lignes et de colonnes
La commande numel retourne le nombre d’éléments
>> size(A) >> size(B) >> numel(C)
ans = ans = ans =
5 4 3 3 10
15
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Filtrage de matrices
Il est possible de filtré une matrice pour trouver des éléments
qui respectent un certain critère : on utilise la commande find
>> A = [10 1.2 5; 6 7 8; 14 15 9]
A=
10.0000 1.2000 5.0000
6.0000 7.0000 8.0000
14.0000 15.0000 9.0000
>> find(A>=10)
ans =
1
3
6
16
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Filtrage de matrices

>> B = [10 1.2 5 7.8; 6 7 8 45; 14 12.45 15.12 9]


B=
10.0000 1.2000 5.0000 7.8000
6.0000 7.0000 8.0000 45.0000
14.0000 12.4500 15.1200 9.0000

>> find(B<7)
ans =
2
4
7
17
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Filtrage de matrices

>> C = [10 -2 5 8; 6 -7 8 45; -14 8 15 -9; 8 -34 0 8]


C=
10 -2 5 8.5
6 -7 8 45
-14 8 15 -9
8.1 -34 0 8

>> find(C==8)
ans =
7
10
16 18
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Filtrage de matrices

Les comparaisons de base :


Supérieur A > 1
Inférieur A < 0
supérieur ou égal A >= 2
inférieur ou égal A <= 3
Égalité A == 4
Inégalité (différent de …) A~=5

19
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Filtrage de matrices

Combiner deux critères :


& : et (exemple : (lat < 30) & (lat > -30))
| : ou (exemple : (lat < 30) | (lat > -30))

Inverse un critère
~ : et (exemple : ~ ((lat < 30) & (lat > -30)))

20
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Filtrage de matrices
Nous pouvons ensuite influencer ces matrices, en utilisant ses
numéros d’index.
Exemple 1
>> A = [10 1.2 5; 6 7 8; 14 15 9];
>> n=find(A>=10);
>> A(n)=0
A=
0 1.2000 5.0000
6.0000 7.0000 8.0000
0 0 9.0000

21
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Filtrage de matrices
Nous pouvons ensuite influencer ces matrices, en utilisant ses
numéros d’index.
Exemple 2 :
>> A = [10 1.2 5; 6 7 8; 14 15 9];
>> A(find(A>=10))=0
A=
0 1.2000 5.0000
6.0000 7.0000 8.0000
0 0 9.0000

22
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Filtrage de matrices
Nous pouvons ensuite influencer ces matrices, en utilisant ses
numéros d’index.
Exemple 3 :
>> A = [10 1.2 5; 6 7 8; 14 15 9];
>> A(find(A>=10))=NaN
A=
NaN 1.2000 5.0000
6.0000 7.0000 8.0000
NaN NaN 9.0000

23
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.2. Taille d’une matrice & Filtrage de matrices
Filtrage de matrices
Nous pouvons ensuite influencer ces matrices, en utilisant ses
numéros d’index.
Exemple 4 :
>> A = [10 1.2 5; 6 7 8; 14 15 9];
>> n=find(A>=10);
>> A(n)=A(n)-2
A=
8.0000 1.2000 5.0000
6.0000 7.0000 8.0000
12.0000 13.0000 9.0000

24
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : vecteurs et matrices
2.1 Déclarer, Accéder aux éléments d’une matrice, Concaténer des
matrices
2.2. Taille d’une matrice & Filtrage de matrices
2.3. Opérations sur les matrices

Cours Dr. DIENG : Logiciel Matlab 2020 - 2024


Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations de base sur les matrices
 Addition A+B
 Soustraction A-B
 Produit matriciel A*B
NB : Les tailles des matrices doivent être compatibles
Produit entre un scalaire et une matrice (i.e chaque élément
de la matrice) 4*A
Réalise la multiplication terme à terme de deux matrices de
même taille A.*B
 Puissance matricielle (itération du produit matriciel) A^5
 Transposée d’une matrice A’

26
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations de base sur les matrices
 Inversion d’une matrice (si son inverse existe) inv(A)
Mettre une puissance à chaque élément de la matrice A.^3
 sqrt(A)
exp(A)
cos(A)
sin(A)
tan(A)
acos(A)
 ...
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
27
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Somme des éléments d’une matrice :
1) Le long des colonnes d’une matrice
>> A = [10 1 5; 6 7 8; 14 15 9]
A=
10 1 5
6 7 8
14 15 9
>> B=sum(A,1)
B=
30 23 22

28
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Somme des éléments d’une matrice :
2) Le long des lignes d’une matrice
>> A = [10 1 5; 6 7 8; 14 15 9]
A=
10 1 5
6 7 8
14 15 9
>> B=sum(A,2)
B=
16
21
38
29
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Somme des éléments d’une matrice :
3) Le long des colonnes et des lignes d’une matrice
>> A = [10 1 5; 6 7 8; 14 15 9];
>> B=sum(A,2);
>> C=sum(B,1)
C=
75
Ou
>> A = [10 1 5; 6 7 8; 14 15 9];
>> C=sum((sum(A,2)),1)
C=
75
30
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Moyenne des éléments d’une matrice le long des lignes (B) et des
colonnes (C) d’une matrice
>> A = [10 1 5; 6 7 8; 14 15 9]
A=
10 1 5
6 7 8
14 15 9
>> B=mean(A,2) >> C=mean(B,1)
B= C=
5.3333 8.3333
7.0000
12.6667

31
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Moyenne des éléments d’une matrice le long des colonnes et
des lignes d’une matrice
>> A = [10 1 5; 6 7 8; 14 15 9];
>> C=mean((mean(A,2)),1)
C=
8.3333

32
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Moyenne des éléments d’une matrice le long des colonnes et
des lignes d’une matrice
>> A = [10 NaN 5; 6 7 8; NaN 15 9];
>> C=mean((mean(A,2)),1)
C=
NaN

>> A = [10 NaN 5; 6 7 8; NaN 15 9];


>> C=nanmean((nanmean(A,2)),1)
C=
8.8333
33
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Maximum et minimum d’une matrice :
1) Le long des colonnes d’une matrice
>> A = [10 1 5; 6 7 8; 14 15 9];
>> B=max(A, [], 1)
B=
14 15 9

34
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Maximum (max) et minimum (min) d’une matrice :
2) Le long des lignes d’une matrice
>> A = [10 1 5; 6 7 8; 14 15 9];
>> B=max(A, [], 2)
B=
10
8
15

35
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Trier une matrice :
1) Le long des colonnes d’une matrice
>> A = [10 1 5; 6 7 8; 14 15 9];
>> B=sort(A,1)
B=
6 1 5
10 7 8
14 15 9

36
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Opérations avancées sur les matrices
Trier une matrice :
1) Le long des lignes d’une matrice
>> A = [10 1 5; 6 7 8; 14 15 9];
>> B=sort(A,2)
B=
1 5 10
6 7 8
9 14 15

37
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Des constantes prédéfinies
>> pi
ans =
3.1416
% Pour afficher davantage de décimales :
>> format long
>> pi
ans =
3.141592653589793
38
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Des constantes prédéfinies
1. imaginaire pour définir les nombres complexes (i ou j)
>> i ou >> j
ans =
0.0000 + 1.0000i
2. Not-A-Number : résultat numérique d’une opération non-
définie
>> 0/0
ans =
NaN
39
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
Autres opérations avancées sur les matrices
1) Calculer l’écart-type
>> sigma=sqrt(sum((x-xbarre).^2)/(N-1)) % version pédestre
>> sigma=std(x) % version rapide
2) Calculer le vecteur dx = {xi+1 − xi} pour i = {1, 2, ..., N −
1}.
i.e : vecteur des différences entre deux él èments cons ecutifs de x
dx=x(2:end)-x(1:end-1) % version pédestre
dx=diff(x) % version rapide
3) Calculer la médiane de la série x
median(x)
40
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
EXERCICE1 :
1. Définir un vecteur t qui contient 51 valeurs équidistantes
entre −25 et 25 ;
2. Calculer le vecteur x = t2 ;
3. Calculer le vecteur y qui contient t3 mais dans l’ordre
inverse ;
4. Représenter x et y en fonction de t ;
5. Calculer la somme des éléments pairs de x ;
6. Calculer la somme des éléments positifs de y.
41
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
EXERCICE1 : correction
1.
t=linspace(-25,25,51);
2.
x=t.^2;
3.
y=t(end:-1:1).^3;
ou
y=fliplr(t).^3;

42
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 2 : Vecteurs et Matrices
2.3. Opérations sur les matrices
EXERCICE1 : correction
4.
figure
subplot(2,1,1)
plot(t,x)
xlabel(’t’); ylabel(’x’);
subplot(2,1,2)
plot(t,y)
xlabel(’t’); ylabel(’y’);

5.
sum(x(fix(x/2)==x/2))
ou
sum(x(mod(x,2)==0))
ou
sum(x(find(rem(x,2)==0)),2)
6.
sum(y(y>0))
43
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
MERCI

44

Vous aimerez peut-être aussi