求matlab三维数组转置函数

2024-12-20 14:15:03
推荐回答(2个)
回答1:

高维数组的转置使用permute函数
具体调用语法
B = permute(A,order)
按照向量order指定的顺序重排A的各维。B中元素和A中元素完全相同。但由于经过重新排列,在A、B访问同一个元素使用的下标就不一样了。order中的元素必须各不相同。

例子
>> A=rand(4,5,6);
>> size(A)

ans =

4 5 6

>> B = permute(A,[2 1 3]);
>> size(B)

ans =

5 4 6

原来A是4x5x6的矩阵
按照顺序[2 1 3]转置之后,原来的第一,第二维顺序改变
B的大小是5x4x6

回答2:

有点不太明白你的意思,数学上并没有定义三维数组转置这种运算吧
从你后面的命令来看是想改变三个维度的顺序,不知道这样理解是否正确,如果是的话,试一下下面的命令:
temp=shiftdim(temp,1);