matlab - 是否可以通过 matlab 提高 ODE 求解器的速度? (ode45 ode15s 等)

标签 matlab ode

我在 matlab 中使用 ode45 和 ode15s 编写了一个代码来求解一个系统。我想知道我是否可以在我的脚本中使用多核(或并行代码)来提高代码的速度。

有人试过吗??

谢谢

最佳答案

不,你不能。

所有数值积分器,包括 ode45 和 friend ,都使用某种形式的迭代方案来求解用户实现的(耦合的)非线性(偏)微分方程。

ode45/15s/.. 迭代方案中的每个新步骤(计算系统的新状态)都取决于前一步(系统的旧状态),因此,这些数值积分器无法有效并行化。

唯一可能产生重大影响的加速是优化微分方程的实现。

关于matlab - 是否可以通过 matlab 提高 ODE 求解器的速度? (ode45 ode15s 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16527379/

相关文章:

python - 用阶跃函数求解微分方程

R 等效于 MATLAB 的 fmincon 用于约束优化?

matlab - Mathcad 到 Matlab - 白噪声、fft 和 NPS 测试

r - 如何在 deSolve (R) 中实现系统动力学风格的管道延迟?

python - 在带有参数的另一个 ODE 中使用 ODE 会使代码非常非常慢

r - 抑制来自deSolve::lsoda的错误

python - numpy 数组中的 ndim 加载了 scipy.io.loadmat?

matlab - 如何找到尺寸不匹配的两个图之间的差异?

MATLAB:char(x) yields 从逻辑转换为 char 是不可能的

performance - 在 Julia : variable answers, 中并行求解 ODE 在多次执行后挂起