MATLAB提供了reshape()函数。
reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排成mxn的二维矩阵。
注意:reshape()函数只是改变原矩阵的行数和列数,但并不改变原矩阵元素个数及其存储顺序。
例1:
>> x
=[23,45,65,34,65,34,98,45,78,65,43,76];
>> y
=reshape(x
,3,4)
%将原矩阵转换成
3行
4列的矩阵
y
=
23 34 98 65
45 65 45 43
65 34 78 76
例2: A(:)将矩阵A的每一列元素堆叠起来,成为一个列向量。
>> A=[-45,65,71;27,35,91]
A =
-45 65 71
27 35 91
>> B=A(:)
B =
-45
27
65
35
71
91
从这里我们不难发现A(:)就等于reshape(A,6,1)