为了评估某些派生函数,我需要使用根查找,求解其他ODE等。 (从计算成本的角度来看)仅以一定的精度评估这些功能是可行的。因此,在每个时间步长中,我都有一些数字上的噪音。
我尝试使用 scipy.integrate.odeint 或 scipy.integrate.solve_ivp (使用“ LSODA”方法解决此ODE系统),因为问题很严重,其他解决僵化问题的求解器将失败)。但是,由于数值噪声,似乎求解器无法计算雅可比行列式(我让求解器按有限差分近似)。使用scipy.optimize.fsolve计算根时,我遇到了类似的问题,并通过将 epsfcn (请参见下文)设置为较高的值来解决此问题。
我想知道我是否可以为python中的ODE求解器做类似的事情。似乎 odeint 和 solve_ivp 没有这样的可选参数,但是也许有办法解决吗?
感谢您的帮助!
(来自fsolve的scipy文档: epsfcn:浮动,可选 Jacobian的正向差异近似的合适步长(对于fprime = None)。如果epsfcn小于机器精度,则假定函数中的相对误差约为机器精度。)