how to use 2d matrix to index into 3d matrix
Afficher commentaires plus anciens
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!
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!