我会尽量直截了当,所以如果还有什么问题,请告诉我,您需要更多详细信息。
我正在求解几个没有显式耦合的方程,但它们对应的未知变量,比如和必须满足微分方程:
其中点表示相对于自变量的导数,例如。
的方程是二阶的,因此可以从中得到和,并且可以检查上面的方程是否始终满足。然而(见附图),事实证明,无论我使用 SciPy 中的哪种集成方法(已经实现的方法),上述等式在某些时候都不再满足。这是因为和以非常高的精度相互抵消,这似乎无法通过 SciPy 提供的任何方法来实现(我已经通过采用每种方法并尽可能降低绝对和相对公差来检查这一点。在所附的图中,采用的方法是 DOP853,当需要非常低的公差时,它应该非常有用)。
我的问题是您是否知道任何提高准确性的方法,以便取消变得更加精确(我希望在整个计算过程中都能方便地满足方程)。到目前为止,我更改的唯一参数是相对和绝对公差(当然还有我们可以使用的不同方法)。是否有任何我遗漏的参数可能对此有用?