matlab中的reshape命令有什么数学意义?

如题所述

reshape就是把指定的矩阵改变形状,但是元素个数不变,

例如,行向量:

a = [1 2 3 4 5 6]

执行下面语句把它变成3行2列:

b = reshape(a,3,2)

执行结果:

b =

1 4

2 5

3 6

扩展资料:

调用格式说明

B = reshape(A,m,n)

返回一个m*n的矩阵B, B中元素是按列从A中得到的,如果A中元素个数没有m*n个, 则会引发错误。

B = reshape(A,m,n,p,...)和B = reshape(A,[m n p ...])

返回一个和A具有相同元素的N(不是上面的参数n)维数组,但B的尺寸是m*n*p*...,m*n*p*...必须和prod(size(A))相等,即A和B元素个数相等。

参考资料来源:百度百科-reshape

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
给你个例程吧:

x=[1,2,3;4,5,6];
y=reshape(x,1,[]);
z=reshape(x,3,2);

最后结果:
x=1 2 3
4 5 6

y=1 4 2 5 3 6

z=1 5
4 3
2 6

matlab里面矩阵是按列存储的,即先存第一列,然后第二列....本回答被提问者采纳
第2个回答  推荐于2017-10-04
reshape函数用于重新调整矩阵的行数、列数、维数,但是元素个数不变。
在matlab命令窗口中键入doc reshape或help reshape即可获得该函数的帮助信息。
调用格式:
  B = reshape(A,m,n)
  返回一个m*n的矩阵B, B中元素是按列从A中得到的。如果A中元素个数不等于m*n, 则会引发错误。
  B = reshape(A,m,n,p,...)
  返回一个和A具有相同元素的n维 数组。但B的尺寸是m*n*p*...,m*n*p*...必须和 prod(size(A))相等。即A和B元素个数相等。
  B = reshape(A,[m n p ...])
  B = reshape(A,...,[],...)
  B = reshape(A,siz)
  相关函数: shiftdim, squeeze, circshift, permute, repmat
第3个回答  2013-11-21
reshape函数重新调整矩阵的行数、列数、维数追问

按照reshape的调整规律,能解决什么具体问题吗?
麻烦给个例子。。

相似回答