2010-10-26 37 views
12

Tengo una matriz 3D con las dimensiones 6, 2 y 10. Quiero que la dimensión de fila cambie de lugar con la dimensión de altura, es decir, 10-2-6. reshape no logra esto de la manera que yo quiero.Rotar una matriz 3D en MATLAB

¿Cómo se puede hacer esto? ¿Puedo rotar la matriz?

Respuesta

17

Creo que estás buscando permute. Para su caso es permute(A,[3 2 1]);. He aquí una descripción de permute de la documentación:

B = permute(A,order) reorganiza los dimensiones de un modo que estén en el orden especificado por el vector orden. B tiene los mismos valores de A pero el orden de los subíndices necesarios para acceder a cualquier elemento particular es reorganizado según lo especificado por orden. Todos los elementos deben ser únicos. Los elementos de orden deben ser únicos.

Es similar a la transposición de una matriz 2D.