how to use 2d matrix to index into 3d matrix
Show older comments
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!
Accepted Answer
More Answers (0)
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!