在 python 中等化微分方程

Equating differential equations in python

我想使那些微分方程相等。我知道我可以在论文中轻松解决它们,但我想知道如何在 Python:

中解决
from sympy import symbols, Eq, solve
P = Function("P")
Q = Symbol('Q')
Q_d = Symbol("Q_d")
Q_s = Symbol("Q_s")
t = Symbol("t")
dy2 = 3 * Derivative(P(t), t,2)
dy1 = Derivative(P(t), t)
eq1 = Eq(dy2 + dy1 - P(t) + 9,Q_d)
display(eq1)


dy2_ = 5 * Derivative(P(t), t,2)
dy1_ = -Derivative(P(t), t)
eq2 = Eq(dy2_ + dy1_ +4* P(t) -1 ,Q_s)
display(eq2)
−() + /*()+3*2/2 * () + 9 =  
4() − /*()+5*2/2 * () −1 = 

这些基本上是“供求”方程式,结果基本上是:

2 * 2/2 * () = (2 * /() - 5() +10)

如何找到这个结果?我知道 Sympy“解决”可以做这样的事情:

solve((eq1,eq2), (x, y))

但是对于这种情况,我一无所知

我假设您通过设置 Qs = Qd 并减去方程式得到所谓的结果?可以改写为

 (2 * /() - 5() +10) - 2 * 2/2 * () = 0

你可以在 sympy 中获得

>>> eq1.lhs - eq2.lhs
-5*P(t) + 2*Derivative(P(t), t) - 2*Derivative(P(t), (t, 2)) + 10

其中 lhs returns 等式的左侧。