two multidimensional examples dimensional bidimensional arreglo array arrays matlab multidimensional-array matrix n-dimensional

arrays - examples - multidimensional array javascript



¿Cómo obtengo las dos últimas dimensiones de una matriz ND como una matriz 2D? (3)

Utilice la función de squeeze , que elimina las dimensiones de singleton.

Ejemplo:

A=randn(4,50,100); B=squeeze(A(1,:,:)); size(B) ans = 50 100

Esto se generaliza y no necesita preocuparse acerca de qué dimensión está indexando. Todas las dimensiones de singleton están exprimidas.

Tengo una matriz 3D en MATLAB, con size(myArray) = [100 100 50] . Ahora, me gustaría obtener una capa específica, especificada por un índice en la primera dimensión, en forma de una matriz 2D. Intenté myMatrix = myArray(myIndex,:,:); , pero eso me da una matriz en 3D con size(myMatrix) = [1 100 50] .

¿Cómo le digo a MATLAB que no estoy interesado en la primera dimensión (ya que solo hay una capa), por lo que puede simplificar la matriz?

Nota: Tendré que hacer esto también con el segundo índice, size(myMatrix) = [100 1 50] representación size(myMatrix) = [100 1 50] lugar del deseado [100 50] . Una solución debe ser aplicable a ambos casos, y preferiblemente a la tercera dimensión también.


reshape(myArray(myIndex,:,:),[100,50])


squeeze , reshape y permute son probablemente las tres funciones más importantes cuando se trata de matrices ND. Solo para tener un ejemplo de cómo usar la tercera función:

A=randn(4,50,100); B=permute(A(1,:,:),[2,3,1])