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

2025-10-08 17:20:23

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如何修改数组的排列维度次序?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢