Reshaping a matrix using a loop or any function inbuilt.

3 Ansichten (letzte 30 Tage)
maharaj
maharaj am 21 Mär. 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.

Akzeptierte Antwort

Jan
Jan am 21 Mär. 2013
Bearbeitet: Jan am 21 Mär. 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 Kommentare
maharaj
maharaj am 21 Mär. 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 am 21 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Melden Sie sich an, um zu kommentieren.

Kategorien

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

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by