Reshaping a matrix using a loop or any function inbuilt.

3 vues (au cours des 30 derniers jours)
maharaj
maharaj le 21 Mar 2013
Hello, Does anyone know how to reshape a m*n matrix into m*1*n matrix using loops or any other function. I would definitely appriciate if both the methods are illustrated.

Réponse acceptée

Jan
Jan le 21 Mar 2013
Modifié(e) : Jan le 21 Mar 2013
x = rand(3,4);
y = reshape(x, 3, 1, 4);
size(y)
This is such efficient, that it is hard to dare to do this in a loop. Therefore I assume, that the problem is a homework question and to avoid cheating, I ask you to post, what you have done so far to solve it with a loop. Then ask a specific question to the occurring problems.
  2 commentaires
maharaj
maharaj le 21 Mar 2013
No its is not a homework problem. It is a code i have been trying to modify to fit into my use.
maharaj
maharaj le 21 Mar 2013
I have a code which computes J matrix which is m*n and now i would want to change it into 3D m*1*n so that I can improve the quality of my image reconxstruction.

Connectez-vous pour commenter.

Plus de réponses (1)

Wouter
Wouter le 21 Mar 2013
a suggestion: permute(matrix,[1 3 2])
this switches dimension 2 and 3 and effectively changes the size of your matrix
  1 commentaire
Jan
Jan le 21 Mar 2013
This uses the clearly documented but confusing fact, that in Matlab missing trailing dimensions are assume to be 1 by default.

Connectez-vous pour commenter.

Catégories

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

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by