Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TP5 MATLAB Corrigé

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 4

TP5 MATLAB : Opérations sur les matrices

et calcul du maximum

Objectif :
 Comprendre comment calculer les valeurs maximales d'une matrice.
 Apprendre à manipuler les dimensions d'une matrice et à utiliser les indices
dans MATLAB.
 Pratiquer l'utilisation des crochets vides [ ] en tant que paramètres optionnels
dans les fonctions.

Exercice 1 : Calcul des valeurs maximales dans les matrices


Créer une matrice 3D :
 Générez une matrice aléatoire de dimensions 4x4x3.
 Utilisez la fonction `max` pour calculer le maximum sur chaque colonne.
 Utilisez la fonction `max` pour calculer le maximum sur chaque ligne.
 Utilisez la fonction `max` pour calculer le maximum sur chaque page de la
matrice (lignes et colonnes). (Indiquez la dimension utilisée pour ce calcul).

Exercice 2 : Trouver les indices des éléments maximaux

Créez une matrice T et calculez les plus grands éléments de chaque colonne, ainsi que
les indices des lignes de T dans lesquelles ils apparaissent.

 Créez une matrice T de votre choix.


 Utilisez `max` pour obtenir les indices des plus grands éléments de chaque
colonne.
T = [1 3 5; 4 2 6; 7 9 8];

Exercice 3 : Comparaison des éléments de matrice


Comparaison avec un scalaire :

 Créez une matrice aléatoire A.


 Comparez chaque élément de la matrice avec une valeur scalaire (par exemple,
0.5) et remplacez ceux qui sont inférieurs par cette valeur.

Exercice 4 : Concaténation de matrices


 Créez deux matrices A et B avec des dimensions compatibles.
 Concaténez-les horizontalement et verticalement.
Correction :

Exercice 1 :
Pour une matrice 3D, le maximum calculé sur chaque page pourrait ressembler à ceci :

- Générez une matrice aléatoire de dimensions 4x4x3.


A = rand(4, 4, 3)

A(:,:,1) =
0.8147 0.6324 0.9575 0.9572
0.9058 0.0975 0.9649 0.4854
0.1270 0.2785 0.1576 0.8003
0.9134 0.5469 0.9706 0.1419
A(:,:,2) =
0.4218 0.6557 0.6787 0.6555
0.9157 0.0357 0.7577 0.1712
0.7922 0.8491 0.7431 0.7060
0.9595 0.9340 0.3922 0.0318
A(:,:,3) =
0.2769 0.6948 0.4387 0.1869
0.0462 0.3171 0.3816 0.4898
0.0971 0.9502 0.7655 0.4456
0.8235 0.0344 0.7952 0.6463
- Utilisez la fonction `max` pour calculer le maximum sur chaque colonne.
M = max(A, [], 1)

M(:,:,1) =
0.9134 0.6324 0.9706 0.9572
M(:,:,2) =
0.9595 0.9340 0.7577 0.7060
M(:,:,3) =
0.8235 0.9502 0.7952 0.6463

- Utilisez la fonction `max` pour calculer le maximum sur chaque ligne.

M = max(A, [], 2)

M(:,:,1) =
0.9575
0.9649
0.8003
0.9706
M(:,:,2) =
0.6787
0.9157
0.8491
0.9595
M(:,:,3) =
0.6948
0.4898
0.9502
0.8235

- Utilisez la fonction `max` pour calculer le maximum sur chaque page de la matrice
(lignes et colonnes). (Indiquez la dimension utilisée pour ce calcul).

M = max(A, [], 3); % Calcul du maximum sur la 3ème dimension


% M renvoie une matrice 4x4 avec les valeurs maximales sur la 3ème dimension
M = max(A, [], 3)

M=
0.8147 0.6948 0.9575 0.9572
0.9157 0.3171 0.9649 0.4898
0.7922 0.9502 0.7655 0.8003
0.9595 0.9340 0.9706 0.6463

Exercice 2 : Trouver les indices des éléments maximaux


Créez une matrice T et calculez les plus grands éléments de chaque colonne, ainsi que
les indices des lignes de T dans lesquelles ils apparaissent.
- Créez une matrice T de votre choix.
- Utilisez `max` pour obtenir les indices des plus grands éléments de chaque colonne.
T = [1 3 5; 4 2 6; 7 9 8];
[M, I] = max(T); % M pour les maximums, I pour les indices

Exercice 3 :

Créer une matrice et renvoyer la plus grande valeur entre chacun de ses éléments par
rapport à un scalaire.
La matrice comparée avec un scalaire de 0.5 ressemblerait à ceci :
A = rand(5, 5);
B = max(A, 0.5); % Remplace les valeurs inférieures à 0.5 par 0.5

% B contient les éléments >= 0.5

Exercice 4 : Concaténation de matrices


- Créez deux matrices A et B avec des dimensions compatibles.
- Concaténez-les horizontalement et verticalement.
A = rand(3, 2);
B = rand(3, 2);
H_concat = [A B]; % Concatenation horizontale
V_concat = [A; B]; % Concatenation verticale

Vous aimerez peut-être aussi