Filter löschen
Filter löschen

Convert matrix size from 1xmxn to mxn

54 Ansichten (letzte 30 Tage)
Kris zenitis
Kris zenitis am 2 Jul. 2014
Bearbeitet: Erik Kruit am 13 Okt. 2020
I want to compare two matrices. One's size is mxn and the other matrix size 1xmxn. How can I convert 1xmxn to mxn??

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 2 Jul. 2014
Bearbeitet: Andrei Bobrov am 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 Kommentar
Erik Kruit
Erik Kruit am 13 Okt. 2020
Bearbeitet: Erik Kruit am 13 Okt. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by