如何限制允许 scipy solve_ivp 集成器构建的集成顺序不高于一阶?

How can I limit the order of the integration that the scipy solve_ivp integrator is allowed to build to nothing higher than 1st order?

问题同上。阅读文档后,我可以更改积分器本身(RK45、RK23、DOP853 等),但是我找不到有关这些积分器顺序或将积分器限制为一阶的方法的信息。

如何做到这一点?我是否必须使用默认为一阶的特定 ODE 求解器方法,或者我是否可以将任何方法编辑为一阶?

对于许多集成商来说,订单是固定的 属性。有一些方法——让我们称它们为 元积分器——在不同的积分器之间切换,但它们仍然受限于这些积分器的顺序。因此,您不能简单地控制积分器的顺序而让其他一切保持不变。

如果你真的想要一阶方法,很容易实现Euler method – unless you want step-size adaption

请注意,积分器的阶数表示其误差对于小步长的表现。在这方面,更高的阶数本身不会引起问题。因此,如果使用一阶方法解决问题,我会觉得很了不起。有时,个别方法可能有问题或问题是 stiff,但这里的解决方案是使用另一个求解器(对于刚性问题),而不是一阶求解器。如果您始终观察到所有求解器的结果,那么这很可能是您的真实结果,或者您在定义导数或类似结果时犯了错误。