[已解决] matlab中将计算写成矩阵形式 ,速度会加快吗?

[复制链接]
baoyx 发表于 2020-5-26 13:51:54
本帖最后由 baoyx 于 2020-5-26 13:57 编辑

比如说如下这张图。三维空间旋转矩阵

   微信图片_20200526132250.png

一般情况下就是这么算:情况a:
p=[0.5 ,-(3^0.5)/2, 0;(3^0.5)/2, 1/2 ,0;0 ,0 ,1]*[2;3;4];


如果把每一行拆开来写:情况b:
x'=cos*x-sin*y+0*1;
y'=sin*x+cos*y+0*1;
z'=0*x+0*y+1*1;


假如在一个程序中 出现了很多很多很多这样的矩阵计算的情况。
如果我都采用情况b的计算形式  而非情况a;会对程序的计算速度造成影响吗?
现在程序写好之后感觉运算速度有点慢 想尽量调试一下 不知道这方面影响大不大




不要问我写的时候为啥非要把矩阵形式拆开 :'( 当时写代码的时候有些计算的地方还没搞懂:'(

求大佬帮忙解答 谢谢了







最佳答案


caicaibi 发表于 2020-5-29 19:53:51
已经是最优化的了,没有办法提高。
回复此楼

4 条回复


caicaibi 发表于 2020-5-29 19:53:51
已经是最优化的了,没有办法提高。
回复此楼

baoyx 发表于 2020-5-29 19:55:30
caicaibi 发表于 2020-5-29 19:53
已经是最优化的了,没有办法提高。

好的好的 话说matlab调用for的速度是不是很慢啊

caicaibi 发表于 2020-5-29 19:57:17
baoyx 发表于 2020-5-29 19:55
好的好的 话说matlab调用for的速度是不是很慢啊

新版本把for循环进行了优化,有的情况下,甚至比并行运算还要快。一般情况下,for循环的速度够你使用了

baoyx 发表于 2020-5-29 20:14:18
caicaibi 发表于 2020-5-29 19:57
新版本把for循环进行了优化,有的情况下,甚至比并行运算还要快。一般情况下,for循环的速度够你使用了 ...

啊 我的是2019b够新吗,你这么说的话我就不改了:handshake 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表