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

2025-04-24 12:29:58
推荐回答(2个)
回答1:

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

回答2:

给你个例程吧:

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里面矩阵是按列存储的,即先存第一列,然后第二列....