【发布时间】:2019-05-22 02:36:05
【问题描述】:
我想知道如何限制solve_ivp 进行积分步骤的迭代次数或设置最小步长。我正在运行校准,如果我的参数导致系统难以集成,我想防止求解器花费很长时间。
有 min_step 参数,但这仅适用于 LSODA 求解器,我正在使用 BDF(因为我的系统很僵硬)。对于旧的odeint,我还可以选择最大集成步骤数,但solve_ivp 似乎不存在。
有谁知道求解器实际上是如何决定何时中断集成,因为它不成功?
【问题讨论】:
-
您是否也可以尝试隐式
radau方法以及您测量的函数评估次数是多少?如果你有一个化学反应系统,方程应该是dcA/dt = cA*(...)的形式。如果是这样,您可以更改为明确强制执行正性的指数参数化cA=exp(uA)。