Convert matrix size from 1xmxn to mxn
    45 views (last 30 days)
  
       Show older comments
    
I want to compare two matrices. One's size is mxn and the other matrix size 1xmxn. How can I convert 1xmxn to mxn??
0 Comments
Accepted Answer
  Andrei Bobrov
      
      
 on 2 Jul 2014
        
      Edited: Andrei Bobrov
      
      
 on 2 Jul 2014
  
      Z =  randi(250,1,3,4); % your matrix
one way
out = squeeze(Z)';
other
out = permute(Z,[3 2 1]);
or
out = reshape(Z,size(Z,2),[])';
1 Comment
  Erik Kruit
 on 13 Oct 2020
				
      Edited: Erik Kruit
 on 13 Oct 2020
  
			Googled really long on this! Thanks! 
size(A)=1xMxN matrix. Unable to then imagsc(A(jpos,:,:)) 
error(using image Color data must be an m-by-n-by-3 or m-by-n matrix.)
Solved by: 
Qi=squeeze(A(jpos,:,:));
imagesc(Qi);
% Squeeze used to convert the resulting 1xMxN matrix into a MxN matrix
More Answers (1)
  Piyush kant
 on 9 Apr 2019
        Just adding some context to previous answer by Andrei Bobrov. Basic idea is to convert 1 x m x n matrix into m x n x 1 as matlab omits last dimension if it is 1. Therefore the method i prefer is:
NewMat=sqeeze(Z)';
Whereas other two functions does the same thing.
0 Comments
See Also
Categories
				Find more on Startup and Shutdown 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!