Funciones de reorganizacion de matrices

La matriz resultado tiene los mismos elementos que la matriz de entrada pero cambiados de posición:

transpose(A)
equivalente a A.'
fliplr(A)
vuelta izquierda-derecha, devuelve la matriz con las columnas en el orden inverso.
flipud(A)
vuelta arriba-abajo, devuelve la matriz con las filas en el orden inverso.
rot90(A,n)
rotación 90º, devuelve la matriz A rotada 90º en el sentido de las agujas del reloj el número de veces indicado por n. Si n se omite se supone 1.
reshape(A,n,m)
convierte la matriz A en una de n filas y m columnas. Los elementos se toman por columnas. Fijada una de la dimensiones, si el otro parámetro se pasa como la matriz vacía ([]), la función elige el tamaño adecuado para la dimensión no especificada.
vec(A)
devuelve un vector columna formado por las columnas de A puestas una debajo de la otra. Es equivalente a A(:)

Estas funciones no se utilizan con mucha frecuencia pero pueden ser últiles en ciertas ocasiones.

Ejemplos

Dada la matriz A=[1,2,3,4;5,6,7,8;9,10,11,12]

  • fliplr(A) devolverá la matriz [4,3,2,1;8,7,6,5;12,11,10,9]
  • flipud(A) devolverá la matriz [9,10,11,12;5,6,7,8;1,2,3,4].
  • rot90(A,1) devolverá la matriz [4,8,12;3,7,11;2,6,10;1,5,9].
  • rot90(A,2) devolverá la matriz [12,11,10,9;8,7,6,5;4,3,2,1].
  • reshape(A,[],2) devolverá la matriz de 2 columnas y 6 filas [1,3;5,7;9,11;2,4;6,8;10,12]
  • reshape(A,4,[]) devolverá la matriz de 4 filas y 3 columnas [1,6,11;5,10,4;9,3,8;2,7,12]
  • en cambio reshape(A,5,[]) devolverá un error.

Obra colocada bajo licencia Creative Commons Attribution Non-commercial Share Alike 3.0 License