Using a vector as an index to a matrix
Mostrar comentarios más antiguos
Hi,
I have a rather large Matrix A with the dimensions 100x100x3 as well as a vector b of dimensions 100x1 with values from 1 to 3.
Now I want to get a out of Matrix A a Matrix C with the dimensions 100x100x1 where b defines which elements along the third dimension of A should be used.
I was thinking of something along the lines of
C = A(:,:,b(:))
but this does not work the way I want.
This code does exactly what I want, but I would prefer to do it without a For-Loop:
for i = 1:100
C(i,:) = A(i,:,b(i));
end
Is it even possible to do without a for-Loop? I had a look at the sub2ind function, but could not get it to work in the way I wanted.
Thank you very much for any help.
1 comentario
madhan ravi
el 1 de Dic. de 2018
can you post a short numerical example so that we know what your goal is?
Respuesta aceptada
Más respuestas (0)
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!