如何将一个三维矩阵转化为二维矩阵?

350(30天)
阿卡什拉吉
阿卡什拉吉 2016年5月11日
你好,
我想3000 x64x278转换成3000 * 64行和278列。
我知道这是可以做到的是这样的:
比如是3000 x64x278所以我可以调用第一个矩阵作为矩阵
B = (:,: 1);
改变成3000 * 64,这意味着每一列一列下我能做
B = B (:);
所以有更多的277列,我应该怎么做呢?
谢谢。

接受的答案

Stephen23
Stephen23 2016年5月11日
编辑:Stephen23 2016年5月11日
使用 重塑
> > =重塑(一4 * 3 * 2、4、3、2)%的数组大小(4、3、2)
(::1)=
1 5 9
2 6 10
3 7 11
4 8 12
(::2)=
13日17日21
14日18 22
15日19日23
16 20 24
> > S =大小(一个);
> > M =重塑(A, S (1) * (2), S (3)))%(4 * 3,2)大小的矩阵,
M =
1)13
2 14
3 15
4个16
5 17
6 18
7日19
8日20
9日21
10 22
11日23
12日24
5个评论
Stephen23
Stephen23 2021年12月23日
编辑:Stephen23 2021年12月23日
“矩阵循环内生长,这是好的。”
不是,请参阅:
相比之下,重塑一个数组是极其有效的(没有移动数据)。

登录置评。

答案(1)

大连
大连 约6小时前
在MATLAB三维数组的顺序是:行,列,和页面。一个二维数组只有行和列。如果两个值被分配它们之间有一个降维问题需要注意。
例如,A3是一个三维数组,A3 (:,: 1) = (1、2、3;4、5、6);A3 (:: 2) = [7 8 9;10、11、12);
所以在A2 = A3的分配(:,:1),结果A2是一个二维矩阵(二维数组)(一个矩阵2 x3)。
作业的A2 = A3(1::),结果A2是一个三维矩阵(1 x3x2矩阵)。
从本质上讲,他们都应该是一个二维矩阵。为什么A2成为一个三维矩阵在后者的任务,而前者是二维?
也就是说,前者也应该被认为是三维的,怎么能被简化为二维,而后者不能被简化为二维?
主要原因是在一个三维矩阵,第一个维度代表行,第二维度代表列和第三维代表页面。第三个维度是1时,它只占1页,2 d自然减少。第一个维度是1时,它只占一行,但是每一页有一个,所以从空间的角度,这不是简化为二维的。
在MATLAB三维数组的顺序是:行,列,和页面。一个二维数组只有行和列。如果两个值被分配它们之间有一个降维问题需要注意。
例如,A3是一个三维数组,A3 (:,: 1) = (1、2、3;4、5、6);A3 (:: 2) = [7 8 9;10、11、12);
所以在A2 = A3的分配(:,:1),结果A2是一个二维矩阵(二维数组)(一个矩阵2 x3)。
作业的A2 = A3(1::),结果A2是一个三维矩阵(1 x3x2矩阵)。
从本质上讲,他们都应该是一个二维矩阵。为什么A2成为一个三维矩阵在后者的任务,而前者是二维?
也就是说,前者也应该被认为是三维的,怎么能被简化为二维,而后者不能被简化为二维?
主要原因是在一个三维矩阵,第一个维度代表行,第二维度代表列和第三维代表页面。第三个维度是1时,它只占1页,2 d自然减少。第一个维度是1时,它只占一行,但是每一页有一个,所以从物理的角度来看,它不是简化为二维。
如果需要一个2 d的结果最后,请使用改造处理。
1评论
史蒂文的主
史蒂文的主 约2小时前
MATLAB不显示拖单维度的数组。但主要单维度是很重要的。

登录置评。

类别

找到更多的在调整和重塑矩阵帮助中心文件交换

标签

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!