lettura facile

La rotazione di una matrice su Matlab

In questa lezione ti spiego come ruotare una matrice o un array su Matlab.

Cosa significa ruotare la matrice? L'operazione di rotazione gira la matrice in senso orario (verso destra) o antiorario (verso sinistra). Ad esempio, una rotazione in senso orario di 90° trasforma una matrice 2x3 in una matrice 3x2 dove la prima e la seconda riga diventano rispettivamente la seconda e la prima colonna.
un esempio di rotazione di una matrice

Ti faccio un esempio pratico.

Crea una matrice rettangolare 2x3 con due righe e tre colonne.

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

Poi digita il comando il comando rot90(M,1) per effettuare una rotazione di 90° della matrice verso sinistra.

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

Matlab ruota di 90° la matrice verso sinistra.

la rotazione di 90° verso sinistra della matrice

Nota. In alternativa puoi ottenere la stessa rotazione digitando rot90(M) perché Matlab considera il secondo parametro uguale a 1 di default. Il verso di default è quello antiorario (verso sinistra) perché è il verso adottato in matematica e in fisica.

Per ruotare la matrice verso destra, ossia in senso orario, indica un valore negativo nel secondo parametro della funzione rot90().

Ad esempio, digita rot90(M,-1) per ottenere una rotazione di 90° della matrice di 90° verso destra.

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

In questo caso Matlab compie una rotazione di 90° della matrice della matrice in senso orario (verso destra).

la rotazione di 90° in senso orario

Per ruotare la matrice di 180° in senso antiorario digita rot90(M,2)

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

In questo caso Matlab compie due rotazioni di 90° della matrice in senso antiorario ossia verso sinistra.

 rotazione di 180° in senso antiorario

Per ruotare la matrice di 180° in senso orario digita rot90(M,-2).

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

Matlab compie due rotazioni di 90° della matrice in senso orario (verso destra) perché il secondo parametro è un numero intero negativo ossia -2.

la rotazione di 180° in senso orario

In pratica la funzione rot90(M,n) ti permette di effettuare un numero qualsiasi di rotazioni di 90°.

Il secondo parametro (n) della funzione è il numero delle rotazioni verso sinistra (n>0) o verso destra (n<0).

Ad esempio, per ruotare la matrice di 270° in senso antiorario (verso sinistra) digita rot90(M,3)

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

Matlab compie tre rotazioni di 90° della matrice in senso antiorario.

la rotazione di 270° della matrice

Nota. Per ottenere una rotazione 270° in senso orario devi semplicemente digitare rot90(M,-3) indicando il numero intero negativo -3 come secondo parametro della funzione rot90().

Per compiere una rotazione di 360° in senso antiorario digita rot90(M,4)

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

Quando effettui una rotazione di 360° è indifferente se la rotazione è in senso antiorario (4), in senso orario (-4) oppure nullo (0).

la rotazione di 360°

In entrambi i casi il risultato è sempre lo stesso.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin