Extracting a column vector from a 3D matrix

14 views (last 30 days)
Hi
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
Tommy

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 18 Mar 2014
Edited: Andrei Bobrov on 18 Mar 2014
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
Tommy
Tommy on 18 Mar 2014
Hi Andrei
Thank you very much for your help.
This works perfectly.
Thanks
Tommy

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!