Extracting a 2 dimensional array from a 3 dimensional matrix.
    3 views (last 30 days)
  
       Show older comments
    
If I have a 3 dimensional matrix, with rows 1 through 10, columns a through z and pages 1 through 4, how do I extract a 2 dimensional array containing the leftmost slab of data, that is, all the column "a" data for all four pages? This would be a 10 x 4 array, with all the data from columns "a" (or 1 if you prefer numeric).
I will rearrange said data, and then want to reinstall the rearranged data in its original place in the 3 dimensional matrix.
Any help would be appreciated.
0 Comments
Accepted Answer
  Joseph Cheng
      
 on 1 May 2015
        
      Edited: Joseph Cheng
      
 on 1 May 2015
  
      so you have a matrix of 10 rows, 26 columns and 4 deep. That would be a 10x26x4 matrix. to get just all rows for column a for all pages is this example that is a bit easier to see
    Testmat= randi(10,2,3,4);))
    A = squeeze(Testmat(:,1,:))
    A = A*0
    Testmat(:,1,:) = A
0 Comments
More Answers (1)
  Zhuang Min Choo
 on 6 Sep 2018
        What if don't use the function "squeeze" to find the answer, any other options?
See Also
Categories
				Find more on Matrix Indexing in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


