Extracting a column vector from a 3D matrix

14 Ansichten (letzte 30 Tage)
Tommy
Tommy am 18 Mär. 2014
Kommentiert: Tommy am 18 Mär. 2014
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

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 18 Mär. 2014
Bearbeitet: Andrei Bobrov am 18 Mär. 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 Kommentar
Tommy
Tommy am 18 Mär. 2014
Hi Andrei
Thank you very much for your help.
This works perfectly.
Thanks
Tommy

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by