Convert matrix size from 1xmxn to mxn

85 views (last 30 days)
I want to compare two matrices. One's size is mxn and the other matrix size 1xmxn. How can I convert 1xmxn to mxn??

Accepted Answer

Andrei Bobrov
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
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

Sign in to comment.

More Answers (1)

Piyush kant
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.

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!