MATLAB如何修改数组的排列维度次序?

时间:2026-02-13 12:07:07

1、首先,对于一个二维数组A,permute(A,[2 1])会把原来的第2维重排到第1维,把原来的第1维变换到第2维。同理,permute(A,[1 2])将对数组毫无影响。

MATLAB如何修改数组的排列维度次序?

2、而ipermute函数则是反过来的。ipermute(A,[3 1 2])是将A的第1维重排到第3维,第2维重排到第1维,第3维重排到第2维

如下图,左下为permute, 右下为ipermute, 图示了三维数组的维度方向。

MATLAB如何修改数组的排列维度次序?

3、但是,如果维度列表为[3 2 1]这样单调递减序列,则不论使用permute还是ipermute结果都相同,如图。

MATLAB如何修改数组的排列维度次序?

4、二维数组同理,高维亦如此。此时不论permute还是ipermute,都会颠倒维度 1和n, 2和n-1, 3和n-2...

MATLAB如何修改数组的排列维度次序?

5、使用同一个维度列表进行permute再ipermute,可以将数组复原。

如图,B=permute(A,[2,3,1]),C=permute(B,[2,3,1]),则C=A

MATLAB如何修改数组的排列维度次序?

© 2026 长短途
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com