How to extract data from 3D table with indices
Show older comments
Hello,
I have some troubles working with 3D tables. In fact, i have a 3D matrix MT (N, 19, 3) and i‘m looking for indices for which [u v]=find (MT(:,16,:)==2) [u v]= 155 1 156 1 157 1 158 1 159 1 160 1 161 1 102 2 103 2 104 2 105 2 106 2 107 2 108 2 109 2 50 3 51 3 52 3 53 3 54 3 55 3 56 3 57 3
Once I get the indices, I want to extract datas form MT (:, 3, :) corresponding to these indices and store these datas that way 1 2 3 Data(155,3,1) Data(102,3,2) Data(50,3,3) Data(156,3,1) Data(103,3,2) Data(51,3,3) Data(158,3,1) Data(104,3,2) Data(52,3,3) Data(159,3,1) Data(105,3,2) Data(53,3,3) Data(160,3,1) Data(106,3,2) Data(54,3,3) Data(161,3,1) Data(107,3,2) Data(55,3,3) Data(108,3,2) Data(56,3,3) Data(109,3,2) Data(57,3,3)
Is there any way to this correctly please? Many thanks for considering my request,
PS: It's easiest to read on the attached file
5 Comments
dpb
on 4 Apr 2014
Can't read your request, sorry...format the code/data values such that it can be interpreted.
As a general comment, NB: that for >2D arrays find returns a linear index in the trailing dimensions for the second argument. To find the corresponding plane from that index of your find means you need to recast it to the size of the array via ind2sub
F Z
on 6 Apr 2014
Image Analyst
on 6 Apr 2014
When you say MT (:, 3, :) you're looking at column 3. Let's say that columns are x. So you're basically looking at the Y-Z plane slicing through the volume at an x of 3.
You may find things that are in any Z plane, not just plane 3.
Plus you'll get a N by 1 by 3 array , not a 2D array so you may want to look into squeeze() in case you need it.
F Z
on 6 Apr 2014
Jan
on 6 Apr 2014
@Fatzo: Please use the possibility to format your question properly. Making it harder to read the question is a bad idea.
Answers (0)
Categories
Find more on Phased Array Design and Analysis 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!