Rotation d'une matrice sous Matlab

Dans ce tutoriel, je vais vous expliquer comment effectuer une rotation de matrice ou de tableau sous Matlab.

Qu'implique la rotation d'une matrice ? Cette opération consiste à pivoter la matrice dans le sens horaire (vers la droite) ou antihoraire (vers la gauche). Ainsi, une rotation de 90 degrés dans le sens horaire transforme une matrice 2x3 en une matrice 3x2, où les premières et secondes lignes deviennent respectivement les deuxièmes et premières colonnes.
Comment faire pivoter une matrice

Voici un exemple concret.

Commencez par créer une matrice rectangulaire 2x3 avec deux rangées et trois colonnes.

>> M = [ 1 2 3 ; 4 5 6 ]
M =
1 2 3
4 5 6

Pour effectuer une rotation de la matrice de 90 degrés dans le sens antihoraire, saisissez la commande rot90(M,1).

>> rot90(M,1)
ans =
3 6
2 5
1 4

Matlab réalise ainsi une rotation de 90 degrés de la matrice dans le sens antihoraire.

Matrice tournée de 90 degrés dans le sens antihoraire

Remarque : Il est aussi possible d'obtenir cette même rotation en utilisant rot90(M), Matlab interprétant par défaut le second paramètre comme étant 1. La direction par défaut est antihoraire, conformément aux conventions en mathématiques et en physique.

Pour faire pivoter la matrice dans le sens horaire, entrez une valeur négative pour le deuxième paramètre de la fonction rot90().

Par exemple, rot90(M,-1) permet une rotation de 90 degrés de la matrice dans le sens horaire.

>> rot90(M,-1)
ans =
4 1
5 2
6 3

Dans ce cas, Matlab réalise une rotation de la matrice de 90 degrés dans le sens horaire.

Rotation de 90 degrés dans le sens horaire de la matrice

Pour une rotation de 180 degrés dans le sens antihoraire, utilisez rot90(M,2).

>> rot90(M,2)
ans =
6 5 4
3 2 1

Matlab exécute alors deux rotations successives de 90 degrés dans le sens antihoraire de la matrice.

Rotation de 180 degrés dans le sens antihoraire de la matrice

Pour une rotation de 180 degrés dans le sens horaire, tapez rot90(M,-2).

>> rot90(M,-2)
ans =
6 5 4
3 2 1

Matlab effectue ici deux rotations de 90 degrés dans le sens horaire, le second paramètre étant un entier négatif, soit -2.

Le résultat final, comme on peut le voir, correspond à une rotation de 180 degrés.

Rotation de 180 degrés dans le sens horaire de la matrice

En pratique, la fonction rot90(M,n) permet de réaliser un nombre quelconque de rotations de 90 degrés.

Le second paramètre (n) indique le nombre de rotations à effectuer dans le sens antihoraire (n>0) ou horaire (n<0).

À titre d'exemple, pour une rotation de la matrice de 270 degrés dans le sens antihoraire, saisissez rot90(M,3).

>> rot90(M,3)
ans =
4 1
5 2
6 3

Matlab exécute alors trois rotations de 90 degrés dans le sens antihoraire.

Rotation de 270 degrés dans le sens antihoraire de la matrice

Remarque : Pour une rotation de 270 degrés dans le sens horaire, il suffit de saisir rot90(M,-3), en indiquant -3, un entier négatif, comme second paramètre de la fonction "rot90()".

Pour réaliser une rotation de 360 degrés dans le sens antihoraire, entrez rot90(M,4).

>> rot90(M,4)
ans =
1 2 3
4 5 6

Une rotation de 360 degrés donne le même résultat, que la rotation soit dans le sens antihoraire (4), horaire (-4) ou nulle (0).

Rotation de 360 degrés de la matrice

Dans tous les cas, le résultat est identique.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Matrices dans Matlab

FAQ