https://zhidao.baidu.com/question/67175427.html
求matlab三维数组转置函数
我需要读入一个ps0.mat文件,我使用 load ps0.mat ,读到工作空间的temp中,temp的value值是<3 * 640 * 480 unit8> ,我用imshow(temp)却报错,不知道有没有三维数组转置的函数或者别的方法打开,烦请哪位高手帮忙解决下,谢谢啊
2个回答
dukinkin
来自电脑网络类芝麻团 推荐于2017-09-19
dukinkin
采纳数:1885 获赞数:9963 LV14
擅长:编程语言 物理学
参与团队:MATLAB技术论坛
向TA提问 私信TA
展开全部
高维数组的转置使用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的大小是5x4x621 2 已赞过 已踩过<
你对这个回答的评价是?
评论
分享
微信扫一扫
网络繁忙
请稍后重试
新浪微博
QQ空间
举报 收起
9192631770
推荐于2017-10-10
9192631770
采纳数:1461 获赞数:6413 LV13
擅长:地球科学 操作系统/系统故障 其他编程语言 数学 三国志
向TA提问 私信TA
展开全部
有点不太明白你的意思,数学上并没有定义三维数组转置这种运算吧
从你后面的命令来看是想改变三个维度的顺序,不知道这样理解是否正确,如果是的话,试一下下面的命令:
temp=shiftdim(temp,1);