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])