MATLAB中矩阵reshape的顺序规律

匿名 (未验证) 提交于 2019-12-02 23:43:01

首先,使用以下代码生成一个(3,4,5)的三维矩阵:

count = 0; for i = 1:3     for j = 1:4         for k = 1:5             count = count + 1;             M(i,j,k) = count;         end     end end

如果按照三维坐标中,x,y表示水平轴,z表示垂直轴的话,上面的矩阵可以几何表示为:

使用MM = reshape(M,12,5);将M矩阵转换为(12,5)的二维矩阵,转换后的MM矩阵为:

可见它是按照先排x方向,后排y方向的顺序排列的,写成程序应该是:

count = 0; for j = 1:4     for i = 1:3         count = count+1;         MM(count,:) = M(i,j,:);     end end

使用MM = reshape(M,60,1) ,将M化为(60,1)的一维矩阵,则为:

可见它是按照x方向排,然后按照y方向排,最后按照z方向排。

总结,matlab的reshape()函数的排列是按照维度顺序按列排列的。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!