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.

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.

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.

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.

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.

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.

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).

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