Reshaping a matrix using a loop or any function inbuilt.

3 次查看(过去 30 天)
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.

采纳的回答

Jan
Jan 2013-3-21
编辑:Jan 2013-3-21
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 个评论
maharaj
maharaj 2013-3-21
No its is not a homework problem. It is a code i have been trying to modify to fit into my use.
maharaj
maharaj 2013-3-21
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.

请先登录,再进行评论。

更多回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by