我正在解决ODE等式:
from sympy import *
E5 = Function('E5')
t = Symbol('t')
ode = Eq(Derivative(E5(t), t),
-3*E5(t)/(-10*sqrt(6) + 30)
+ sqrt(6)*E5(t)/(-10*sqrt(6) + 30)
- 67*sqrt(2)*exp(-sqrt(3)*t/10)/(200*(-sqrt(6) + 3))
+ sqrt(3)*exp(-sqrt(3)*t/10)/(10*(-sqrt(6) + 3))
+ 47*sqrt(2)*exp(-sqrt(2)*t/10)/(200*(-sqrt(6) + 3)))
dsolve(ode)
并且有效(等待几分钟后),但在Function('E5')
替换为Function('E5', real=True)
或Symbol('t')
Symbol('t', real=True)
后失败。即dsolve(ode)引发TypeError(" eq应该是Equality&#34的实例;)。这是因为dsolve(ode,simplify = False)返回False而不是Equation。而后者我不知道为什么。是否不可能在假设中使用dsolve?我需要它们,因为它们让我简化表达式,否则我的表达式会变得太复杂并且计算时间太长。
你有什么想法可以解决这个问题吗?