-
reshape是对矩阵的元素重新排列的方法,可以将3*6的矩阵转换成9*2的矩阵。
-
需要注意的是reshape是按列读取,然后按列摆放,所以,需要这个原则和具体的问题,进行合理的转置操作,达到效果。
-
所以,如果我们想将如下一个3*6的矩阵A,转换成9*2的矩阵B的话。
A = [1 2 3;
4 5 6;
7 8 9;
10 11 12;
13 14 15;
16 17 18];
B = [1 2 3 4 5 6 7 8 9;
10 11 12 13 14 15 16 17 18];
-
那我们就需要reshape按照行读取A中的元素,所以我们就要将A进行转置。
B = reshape(A.',9,2);
如果这样的话,我们得到的矩阵B是如下图所示矩阵,因为reshape不仅按列读取输入矩阵,还是按列排列输出矩阵。
-
为了得到B这个输出矩阵,我们就需要用如果语句得到B的转置,然后再进行一步转置操作得到B。
B = reshape(A.',9,2);
B = B.';
END
MATLAB的reshape函数
最新推荐文章于 2024-05-02 21:08:55 发布