如何将一个三维矩阵转化为二维矩阵?
350(30天)
显示旧的评论
接受的答案
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
答案(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的结果最后,请使用改造处理。