求matlab三维数组转置函数

我需要读入一个ps0.mat文件,我使用 load ps0.mat ,读到工作空间的temp中,temp的value值是<3 * 640 * 480 unit8> ,我用imshow(temp)却报错,不知道有没有三维数组转置的函数或者别的方法打开,烦请哪位高手帮忙解决下,谢谢啊

高维数组的转置使用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
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-10
有点不太明白你的意思,数学上并没有定义三维数组转置这种运算吧
从你后面的命令来看是想改变三个维度的顺序,不知道这样理解是否正确,如果是的话,试一下下面的命令:
temp=shiftdim(temp,1);本回答被提问者采纳
相似回答