Accessing certain Dimension of Multidimensional Array
Mostrar comentarios más antiguos
Hi All,
Recently I've been working on a problem where I have a multidimensional array where I don't know how how many dimensions I have, but I want to get all the items that are in the ith slice (row, column, matrix, hyperplane, idk what to call it) of the jth dimension. Is there any way to do this easily in MATLAB?
As an example, for a 3x3x3 matrix, if I want the 2nd slice in the 3rd dimension, I wold go A(:,:,2), but here I don't have the luxury of typing however may semicolons I want.
Respuesta aceptada
Más respuestas (1)
Just because I'm fond of circumventing repmat :-)
i=2, %slice
j=3; %dim
S=size(A);
Ar=reshape(A,prod(S(1:j-1)),[], prod(S(j+1:end)));
slice = reshape( Ar(:,i,:) , [S(1:j-1), 1, S(j+1:end)]);
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!