matlab三维矩阵怎么转为二维矩阵?

如题所述

方法1:
采用reshape处理。
方法2:
采用:squeeze 处理。
方法3:
在定义的时候,抽取元素形式为A=B(:,:,i)。

1.matlab中三维数组顺序是:行、列、页。二维数组只有行、列。如果两只之间赋值,有一个维数缩减问题需要注意。

前者可以缩减为二维,而后者不能缩减为二维的主要原因就在于,三维矩阵中,第一维度代表行,第二维度代表列,第三维度代表页,当第三维度为1时,代表只有1页,自然缩减为二维。当第一维度为1时,代表只有一行,但是每页都有。

2.matlab中三维数组顺序是:行、列、页。二维数组只有行、列。如果两只之间赋值,有一个维数缩减问题需要注意。

前者本来也应该算是三维的,可以缩减为二维,而后者不能缩减为二维的主要原因就在于,三维矩阵中,第一维度代表行,第二维度代表列,第三维度代表页,当第三维度为1时,代表只有1页,自然缩减为二维。当第一维度为1时,代表只有一行,但是每页都有。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-31

a=rand(m,n,6)
b=reshape(m*n,6)

一个示例:
>> a=rand(2,3,2)
a(:,:,1) =
0.8147    0.1270    0.6324
0.9058    0.9134    0.0975
a(:,:,2) =
0.2785    0.9575    0.1576
0.5469    0.9649    0.9706
>> b=reshape(a,6,2)
b =
0.8147    0.2785
0.9058    0.5469
0.1270    0.9575
0.9134    0.9649
0.6324    0.1576
0.0975    0.9706

拓展:

1、MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

2、MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。