Rotação de Matrizes no Matlab

Neste tutorial, vou demonstrar como efetuar a rotação de matrizes ou arrays no Matlab.

O que é a rotação de uma matriz? Este processo consiste em girar a matriz no sentido horário (direita) ou anti-horário (esquerda). Por exemplo, ao rotacionar uma matriz de 2x3 em 90 graus no sentido horário, ela se transforma em uma matriz de 3x2, onde as primeiras e segundas linhas passam a ser, respectivamente, as segundas e primeiras colunas.
Como rotacionar uma matriz

Vamos a um exemplo prático:

Crie uma matriz retangular 2x3, contendo duas linhas e três colunas.

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

Em seguida, utilize o comando rot90(M,1) para rotacionar a matriz 90 graus no sentido anti-horário.

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

Com isso, o Matlab rotaciona a matriz em 90 graus no sentido anti-horário.

matriz rotacionada 90 graus no sentido anti-horário.

Observação: Uma alternativa é usar rot90(M), já que o Matlab define automaticamente o segundo parâmetro como 1. A direção padrão é anti-horária, seguindo a convenção matemática e física.

Para rotacionar a matriz no sentido horário, introduza um valor negativo no segundo parâmetro da função rot90().

Por exemplo, ao digitar rot90(M,-1), a matriz é rotacionada em 90 graus no sentido horário.

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

Nesse contexto, o Matlab realiza a rotação de 90 graus no sentido horário.

rotação de 90 graus no sentido horário da matriz

Para uma rotação de 180 graus no sentido anti-horário, utilize rot90(M,2).

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

Essa ação resulta em duas rotações consecutivas de 90 graus no sentido anti-horário.

rotação de 180 graus no sentido anti-horário da matriz

Para rotacionar a mesma matriz 180 graus no sentido horário, digite rot90(M,-2).

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

Aqui, o Matlab executa duas rotações de 90 graus no sentido horário, devido ao parâmetro negativo (-2).

Curiosamente, o resultado final é idêntico ao exemplo anterior, representando uma rotação de 180 graus.

rotação de 180 graus no sentido horário da matriz

De forma prática, a função rot90(M,n) possibilita realizar múltiplas rotações de 90 graus.

O segundo parâmetro (n) indica o número de rotações: no sentido anti-horário (n>0) ou horário (n<0).

Para exemplificar, para rotacionar a matriz 270 graus no sentido anti-horário, digite rot90(M,3).

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

O Matlab executa, então, três rotações de 90 graus no sentido anti-horário.

rotação de 270 graus no sentido anti-horário da matriz

Observação: Para uma rotação de 270 graus no sentido horário, basta digitar rot90(M,-3), especificando o valor negativo -3 como segundo parâmetro.

Para realizar uma rotação completa de 360 graus no sentido anti-horário, use rot90(M,4).

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

Interessante notar que, em uma rotação de 360 graus, a direção (anti-horário (4), horário (-4) ou nula (0)) é irrelevante.

rotação de 360 graus da matriz

Em ambos os casos, o resultado é exatamente o mesmo.

 
 

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

FacebookTwitterLinkedinLinkedin

Matrizes no Matlab

FAQ