MATLAB 中的数组旋转
在 MATLAB 中,有没有办法将数组的元素旋转到另一个维度,例如:
y=[-1,0,1] --> y=[-1; 0; 1] (like transpose)
y=[-1,0,1] --> y(:,:,1)=-1, y(:,:,2)=0, y(:,:,3)=1
y=[-1,0,1] --> y(:,:,1,1)=-1, y(:,:,1,2)=0, y(:,:,1,3)=1
我想避免 for 循环。
In MATLAB, is there a way to rotate the elements of a array to another dimension, like:
y=[-1,0,1] --> y=[-1; 0; 1] (like transpose)
y=[-1,0,1] --> y(:,:,1)=-1, y(:,:,2)=0, y(:,:,3)=1
y=[-1,0,1] --> y(:,:,1,1)=-1, y(:,:,1,2)=0, y(:,:,1,3)=1
I would like to avoid for loops.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用转置(函数RESHAPE,或函数 排列。例如:
You can do these sorts of matrix operations using transposition, the function RESHAPE, or the function PERMUTE. For example:
虽然 reshape 和 permute 是更强大的工具,但您可以使用以下方法轻松解决给定的示例:
While reshape and permute are more powerful tools, you can solve the given example quite easy with: