无法在matlab中使用置换nd数组

无法在matlab中使用置换nd数组,matlab,multidimensional-array,transpose,Matlab,Multidimensional Array,Transpose,X是尺寸为-50000x3x32x32的4d阵列。我想将4d阵列转换为50000x32x32xX32x3 Y = permute(X, [1 4 2 3]); 但是,Y的尺寸仍然是50000x32x3x32。但它应该是50000x32x32xX3。谁能帮帮我这里有什么问题吗?提前感谢。以下是来自的定义: B=permute(A,order)重新排列A的维度,使其按向量顺序指定的顺序排列 我们可以使用大小来获取数组的维度: S=尺寸(X) 我们希望对维度向量重新排序,使其成为[50000 32

X是尺寸为-50000x3x32x32的4d阵列。我想将4d阵列转换为50000x32x32xX32x3

Y = permute(X, [1 4 2 3]);

但是,Y的尺寸仍然是50000x32x3x32。但它应该是50000x32x32xX3。谁能帮帮我这里有什么问题吗?提前感谢。

以下是来自的定义:

B=permute(A,order)
重新排列A的维度,使其按向量顺序指定的顺序排列

我们可以使用大小来获取数组的维度:

S=尺寸(X)

我们希望对维度向量重新排序,使其成为
[50000 32 3]
。然后我们应该将顺序设置为
[1 3 4 2]

order = [1 3 4 2];
S_result = S(order)

S_result =
[50000 32 32 3]

以下是来自以下方面的定义:

B=permute(A,order)
重新排列A的维度,使其按向量顺序指定的顺序排列

我们可以使用大小来获取数组的维度:

S=尺寸(X)

我们希望对维度向量重新排序,使其成为
[50000 32 3]
。然后我们应该将顺序设置为
[1 3 4 2]

order = [1 3 4 2];
S_result = S(order)

S_result =
[50000 32 32 3]

试试:
[1 3 4 2]
。谢谢。我应该换一种方式思考。你是对的,这个参数根本没有解释
顺序
参数的方向。请你们中的一位给出答案好吗?普拉纳瓦努姆@rahnema1@CrisLuengo答案已张贴。不幸的是你不能接受!试试:
[1 3 4 2]
。谢谢。我应该换一种方式思考。你是对的,这个参数根本没有解释
顺序
参数的方向。请你们中的一位给出答案好吗?普拉纳瓦努姆@rahnema1@CrisLuengo答案已张贴。不幸的是你不能接受!这不是OP做的吗?OP做了
[1 4 2 3]
。我已经在评论中回答了,但是一个用户要求我发布一个解释性的回答。对不起,现在已经很晚了。这是一个非常好的答案+这不是OP做的吗?OP做了
[1 4 2 3]
。我已经在评论中回答了,但是一个用户要求我发布一个解释性的回答。对不起,现在已经很晚了。这是一个非常好的答案+1.