Stuart’s MATLAB Videos

Watch and Learn

Video tutorial: 3d indexing

The MATLAB user has this:

clear
clc
M(:,:,1) = [1,2;3,4];
M(:,:,2) = [21,22;23,24];
J = [1,2; 2,1];
They want this:
ans =
[1 22
23 4]
They tried this:
D = M(:,:,J) % This doesn't work,
This video discusses this solution:
[nR, nC] = size(J);
D = zeros(nR,nC);
for r = 1:nR
     for c = 1:nC
          D(r,c) = M(r,c,J(r,c));
    end
end     
 
|
  • print

Comments

To leave a comment, please click here to sign in to your MathWorks Account or create a new one.