how to use 2d matrix to index into 3d matrix
Mostrar comentarios más antiguos
I have a 3-dimensional matrix C of size (m, n, k), and I have an index array ID of size (m,n) that indexes into the last dimension.
I tried indexing into it like this:
A = C(:,:,ID(:,:))
but that does not work. Is there a more compact way than the following function?
function B = matindex(C, ID)
B = zeros(size(ID));
for i = 1:size(C, 1)
for j = 1:size(C,2)
B(i,j) = C(i, j, ID(i,j));
end
end
end
Thanks!
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!