首页 > 编程知识 正文

matlab未定义n维数组的转置,matlab中数组的转置

时间:2023-05-04 18:44:32 阅读:229564 作者:22

https://zhidao.baidu.com/question/67175427.html

 

求matlab三维数组转置函数

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

2个回答

#活动# 参与《复联4》问答讨论,赢免费影票!

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);

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。