是否可以在 matlab 中将二维向量转换为四维向量?
我可以创建二维向量,例如:
A = [[1 2];[3 4]] -->(code segment_1)
和像
这样的 4-D 向量A = ones(2,3,4,8) -->(code segment_2)
是否可以像我们使用 code_segment_1 创建 2-D 向量那样创建 4-D 向量? (让我说得更清楚一点,A=[[[1 2],[3 4]],[[5 6],[7 8]],[[9 10],[11 12]]]
正在创建一个 1x12 矩阵)
我还看到我们使用 reshape
函数将 k 维矩阵转换为 l 维矩阵,其中 k > l。这基本上是缩小尺寸,但我们可以放大尺寸吗?
最佳答案
只要不改变元素的数量,您就可以 reshape
您的 2D 矩阵 为 4D 数组:
oneD = 1:12; %// creare 1D vector
twoD = reshape( oneD, [6 2] ); %// reshape into a 2D matrix
threeD = reshape( oneD, [2 3 2] ); %// now you have a 3D array
fourD = reshape( oneD, [1 2 3 2] ); %// 4D with a leading singleton dimension
从你的问题来看,你似乎对 numpy 有一些经验。 Matlab 没有为 n
>2 直接创建 n-d 数组的命令行,但可以直接将任何 2D 或 3D 数组 reshape
转换为更高维数组.
关于matlab - 在 Matlab 中将 2-D 向量转换为 4-D 向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29754236/