返回信息流问题一、除了利用并行,尽量减少for循环和给变量预分配内存,尽量定义成子函数这些方法,请问还有哪些可以提高matlab运算效率呀?
问题二、两种用matlab计算雅克比矩阵的方法哪个运算效率高。方法(A):定义符号变量,用matlab自带的Jacobian函数计算雅克比矩阵,然后赋值求得雅克比矩阵;方法(B):直接手算出来雅克比矩阵的公式然后编公式,带入数值求解。(由于公式忒复杂,要写出来雅克比矩阵真的是挺费劲的,没尝试方法B,所以目前只是用方法A计算,但是for循环里面Jacobian矩阵计算模块挺费时间的,所以特来向各位讨教一下,哪个效率高)。
这是一条镜像帖。来源:北邮人论坛 / matlab / #12738同步于 2019/1/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
关于Matlab并行,Jacobian函数,符号变量
CarolYao
2019/1/3镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
1. 虽然不算提升效率,但可以尝试使用MATLAB里的parallel pool以实现多进程,从而更充分利用多核资源;
1.5 如果常用MATLAB可以日常搜索补充一些vectorization的技巧,以及parallel computing的基本知识(比如多重循环如何确定顺序、划分粒度、如何分配内存能够更优编译虽然跟MATLAB没啥关系)
2. 不恰当的类比,斐波那契递归和快速幂[em2]如果能预先降低时间复杂度肯定是最理想啦,不过已经忘了MATLAB Jacobi是咋回事了[ema1]