码迷,mamicode.com
首页 > 其他好文 > 详细

MATLAB中矩阵reshape的顺序规律

时间:2019-06-16 16:19:00      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:png   垂直   水平   src   维度   res   pre   转换   图片   

MATLAB中矩阵reshape的顺序规律

首先,使用以下代码生成一个(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()函数的排列是按照维度顺序按列排列的。

MATLAB中矩阵reshape的顺序规律

标签:png   垂直   水平   src   维度   res   pre   转换   图片   

原文地址:https://www.cnblogs.com/hellovan/p/11031637.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!