Académique Documents
Professionnel Documents
Culture Documents
1 © 2019 H. Airouche
Quelques fonctions élémentaires sur les matrices
max(M) % renvoie un vecteur-ligne contenant les valeurs maximales
% associées à chaque colonne.
min(M) % un vecteur-ligne contenant les valeurs minimales associées à
% chaque colonne.
sum(M) % renvoie un vecteur-ligne contenant la somme des éléments de
% chaque colonne.
prod(M) % renvoie un vecteur-ligne contenant le produit des éléments de
% chaque colonne.
sort(M) % réarrange les colonnes de M dans l’ordre croissant
2 © 2019 H. Airouche
Opérations matricielles de base en algèbre linéaire
C = A' % transposée de A, Cij = Aji
-1
C = inv(A) % inverse de A, C = A
d = det(A) % déterminant de A
r = rank(A) % rang de A
n = norm(A) % norme de A
b = trace(A) % somme des éléments de la diagonale de A
[V, D] = eig(A) % Valeurs propres et vecteurs propre de (D: valeur propre,
% V: vecteur propre)
[V, D] = eig(K) % (K – D * I) * V = 0
[V, D] = eig(K,M) % (K – D * M) * V = 0
C = triu(A) % extrait la matrice-triangle supérieure de A
C = tril(A) % extrait la matrice-triangle inférieure.
3 © 2019 H. Airouche
Série d’exercice : Vecteurs et Matrices sous Matlab
Q1: En utilisant la commande (:) créer les vecteur a et b
5
⎛4⎞
𝑎 = (1 2 3 4 5) 𝑏 = ⎜3⎟
2
⎝1⎠
Que pensez-vous des affirmations suivantes
1. size(a) est égal à size(b)
2. length(a) est égal à length(b)
3. length(a) est égal à length(b’)
4. a(3) est égal à b(3)
5. a(1:2) – b(2:3) est égal à [-3 -1]
6. a est égal à b’’
7. a(2:4) * b(1:3) est égal à 34
Q2: Parmi les opérations suivantes, lesquelles s'exécutent correctement sans provoquer une erreur (du
type « Matrix dimensions must agree » ou «Inner matrix dimensions must agree»).
1. V = [1 1 1 1] + [1 2 3 4];
2. V = [1 1 1 1] + [1 ; 2 ; 3 ; 4];
3. V = [1 1 1 1] + [1 1 ; 2 2 ; 3 3 ; 4 4];
4. V = [1 1 1 1] - (1:4);
Q3: On souhaite générer un vecteur V de longueur n (scalaire entier >0 prédéfini) contenant des 0.
Déterminez les syntaxes correctes réalisant cette opération :
1. V = zeros(1,n);
2. V = linspace(0,eps,n);
3. V = 0*ones(1,n);
4. V = ones(n,1)-1;
Q4: On veut évaluer la fonction 𝑦 = √x + 4 × sin2 (𝑥) + 4 pour les différentes valeurs de x
contenues dans le vecteur ligne défini par x = linspace(-10,10,1000);. Quels sont les syntaxes
correctes ? :
1. y = sqrt(x + 4) *sin(x)^2 + 4;
2. y = sqrt(x + 4).*sin(x)^2 + 4;
3. y = sqrt(x + 4).*sin(x).^2 + 4;
4. y = sqrt(x .+ 4).*sin(x).^2 .+ 4;
4 © 2019 H. Airouche
1 0 ⋯ 0
⎡0 ⋱ 0 ⋱ ⎤
⎢ ⎥
2- 𝐵 = ⎢ ⋮ 0 5 0 ⋮ ⎥ ou 𝑉 = [1 2 … 5 … 2 1]
⎢ ⋱ 0 ⋱ 0⎥
⎣0 ⋯ 0 1⎦
1 2 ⋯ 10
3- 𝐶 = � 11 12 ⋯ 20 � utiliser la fonction reshape
⋮ ⋮ ⋱ ⋮
91 92 ⋯ 100
Q8: On pose u=[1 2 3]; u=[1;1;1]; M=[1 2 3;4 5 6] . Parmi les opérations suivantes,
indiquer lesquelles s'exécutent correctement sans provoquer une erreur du type « Matrix dimensions
must agree » ou «Inner matrix dimensions must agree».
1. M*u
2. M*v
3. u.*v
4. (u.*v’)*M
5. (u*v)*M
6. Rajouter une 3ème ligne [7, 8, 9] à la matrice M.
7. Expliquer la différence entre les réponses que donne Matlab quand on tape les commandes
suivantes M^2, M*M et M.^2 ?
Pb1 : Ecrire un programme et une fonction, sous Matlab, qui permettent de générer la matrice
paramétrée en fonction de N, suivante :
1 −1 0 ⋯ 0
⎡ −1 2 ⋱ ⋮⎤
⎢ ⎥
⎢ 0 −1 ⋱ −1 ⎥
𝐴= ⎢ ⋱ 𝑁 ⋱ ⎥ ou 𝑉 = [1 2 … 𝑁 … 2 1] 𝑒𝑡 𝑁 𝑒𝑛𝑡𝑖𝑒𝑟 > 2
⎢ −1 ⋱ −1 0⎥
⎢ ⋮ ⋱ 2 −1⎥
⎣ 0 ⋯ 0 −1 1⎦
Pb2 : Ecrire un programme et une fonction, sous Matlab, qui permettent de générer la matrice
paramétrée en fonction de N, suivante :
1 2 ⋯ 𝑁
𝑁+1 𝑁+2 ⋯ 𝑁+𝑁
𝐵=� �
⋮ ⋮ ⋱ ⋮
𝑁(𝑁 − 1) + 1 𝑁(𝑁 − 1) + 2 ⋯ 𝑁∗𝑁
5 © 2019 H. Airouche