Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Matlab中将二维矢量转换为四维矢量_Matlab_Matrix_Vector - Fatal编程技术网

在Matlab中将二维矢量转换为四维矢量

在Matlab中将二维矢量转换为四维矢量,matlab,matrix,vector,Matlab,Matrix,Vector,在matlab中是否可以将二维向量转换为四维向量 我可以创建二维向量,例如: A = [[1 2];[3 4]] -->(code segment_1) 和四维向量一样 A = ones(2,3,4,8) -->(code segment_2) 是否可以创建一个4-D向量,就像我们可以使用代码_段_1创建2-D向量一样?(让我更清楚地说,A=[[12]、[34]、[56]、[78]、[9 10]、[11 12]]正在创建1x12矩阵) 我还看到我们使用重塑函数将k维矩阵转换为l

在matlab中是否可以将二维向量转换为四维向量

我可以创建二维向量,例如:

A = [[1 2];[3 4]] -->(code segment_1)
和四维向量一样

A = ones(2,3,4,8)  -->(code segment_2)
是否可以创建一个4-D向量,就像我们可以使用代码_段_1创建2-D向量一样?(让我更清楚地说,
A=[[12]、[34]、[56]、[78]、[9 10]、[11 12]]
正在创建1x12矩阵)


我还看到我们使用
重塑
函数将k维矩阵转换为l维矩阵,其中k>l。这基本上是缩小比例,但我们可以放大尺寸吗

您可以
将二维矩阵重塑为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数组重塑为更高维数组。

如果您想直接创建4D数组(无
重塑
),则需要使用稍微复杂的语法,函数为:

A = cat(4, cat(3, [1 2],[3 4]), cat(3, [5 6],[7 8]), cat(3, [9 10],[11 12]));

您需要使用
A(:,:,:,k)
符号,或者将
1D
2D
版本的输入重新整形为
4D
重新整形
也可以“放大”。给它适当的尺寸谢谢你帮我解决我愚蠢的疑问。。当我实现一个玩具页面ranker时,我还使用了numpy模块。。