MATLAB Answers


Extracting a column vector from a 3D matrix

Asked by Tommy
on 18 Mar 2014
Latest activity Commented on by Tommy
on 18 Mar 2014
I have a 3D matrix (A) with dimension of (10,10,320).
If I label the column vectors(320,1) with 1 - 100, I will get 100 column vectors with dimension of (320,1).
My question is that if there is a way to extract or find out one specific column vector from the 3D matrix if I have the index number between 1 and 100.
For example, if I know the index number is 10, I will look for the elements which situate at (10,1,:) of the 3D matrix (A). But is there a way to ask MATLAB to do it?
Thank you very much


Sign in to comment.

1 Answer

Answer by Andrei Bobrov
on 18 Mar 2014
Edited by Andrei Bobrov
on 18 Mar 2014
 Accepted Answer

l = 10;
s = size(A);
[ii,jj] = ind2sub(s(1:2),l);
out = A(ii,jj,:);
other way
C = zeros(size(A));
C(l) = 1;
out = A(cumsum(C,3) > 0);

  1 Comment

Hi Andrei
Thank you very much for your help.
This works perfectly.

Sign in to comment.