Effacer les filtres
Effacer les filtres

Convert matrix size from 1xmxn to mxn

54 vues (au cours des 30 derniers jours)
Kris zenitis
Kris zenitis le 2 Juil 2014
Modifié(e) : Erik Kruit le 13 Oct 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??

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 2 Juil 2014
Modifié(e) : Andrei Bobrov le 2 Juil 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 commentaire
Erik Kruit
Erik Kruit le 13 Oct 2020
Modifié(e) : Erik Kruit le 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

Connectez-vous pour commenter.

Plus de réponses (1)

Piyush kant
Piyush kant le 9 Avr 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.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by