如何用matlab实现高维矩阵维度的调整,把A*B*C*D的四维矩阵转换成A*C*B*D的四维矩阵

如何用matlab实现高维矩阵维度的调整,把A*B*C*D的四维矩阵转换成A*C*B*D的四维矩阵,第1张

用permute函数

原来的数据是 A B C D,换为 A C B D的时候,2和3两个维度的数据互换

就是将 1 2 3 4的顺序变为 1 3 2 4,这时候用permute函数就可以

permute(Data,[1 3 2 4])

问的好奇怪,提取一个维度的矩阵,那就必须要知道其他两个维度。

如图,已知x(行),y(列),z(页)表示一个3维矩阵。那么你问的A(:,:,1)实际上提取的就是第一个页,也就是将z固定为1,x,y随便取。

那么比如说我要提取一行,三列,z维度的所有值,那么就表示为 A(1,3,:)

为什么matlab老出现索引超出矩阵维度?可能是数据文件有问题,建议你这样来排查,把第41行的空格去掉,一直去到第40行的尾部,即光标符处于40行的尾部,保存。然后再运行你的代码。

如还有问题,再交流。

用permute函数

原来的数据是 A B C D,换为 A C B D的时候,2和3两个维度的数据互换

就是将 1 2 3 4的顺序变为 1 3 2 4,这时候用permute函数就可以

permute(Data,[1 3 2 4])

以上就是关于如何用matlab实现高维矩阵维度的调整,把A*B*C*D的四维矩阵转换成A*C*B*D的四维矩阵全部的内容,包括:如何用matlab实现高维矩阵维度的调整,把A*B*C*D的四维矩阵转换成A*C*B*D的四维矩阵、matlab中有没有提取三维矩阵中的一维的函数 A是一个三维矩阵A(:,:,1)表示什么意思、求助,matlab老出现索引超出矩阵维度,怎么办以下是matlab程序及读取文件。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9836807.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存