【发布时间】:2021-09-02 23:32:41
【问题描述】:
我正在研究一个用 scipy.integrate.solve_ivp 求解的微分方程系统。对于这个系统的每个变化项,我结合了不同的中间变量。我正在寻找一种方法来存储这些中间变量,而不仅仅是结果变量。
我正在考虑使用列表或其他类型的可迭代将中间值直接存储在传递给 solve_ivp 的 func 中,但这似乎不是最好的方法,并且不允许我使用插值,当使用密集输出时。 我也可以使用solve_ivp的结果重新计算这些中间变量,但是由于计算有点复杂,直接存储值并且只计算一次应该更容易。
我的 func 函数看起来像这样:
def dY(t, Y):
C1, C2 = Y
dC1 = A(C1, C2) + B(C1, C2)
dC2 = C(C1, C2) + B(C1, C2)
return [dC1, dC2]
我想在每一步存储 A、B、C 和 D 的值,以及 C1 和 C2 的值(对于它所说的人来说,这是一个化学工程问题,A、B、C 和D 是不同的汇和源术语)
感谢您的帮助!
【问题讨论】:
标签: python scipy numerical-methods differential-equations