我有以下微分方程,我想用SymPy来解决

这个微分方程有隐式解( h(0) = [0,1)和t= [0,inf])

但SymPy给出了

其他软件包,如Maxima,能够找到的。然而,使用SymPy我就做不到。有没有办法做到这一点?我的代码是
import sympy as sp
sp.init_printing(use_unicode=True)
h = sp.symbols('h', function=True)
t = sp.symbols('t')
eq = sp.Eq(sp.Derivative(h(t),t), (1 - h(t))**sp.Rational(4,3) / h(t))
sp.dsolve(eq)发布于 2017-07-26 06:14:32
SymPy没有计算积分,因为它不确定积分中1-y的符号。
微分方程在h=1处有一个奇点,它的行为取决于我们在1的哪一边。没有一种方法可以说h(t) < 1,但可以用h(t) =1- g(t)代替,其中g是正函数:
g = sp.symbols('g', function=True, positive=True)
eq1 = eq.subs(h(t), 1 - g(t))
print(sp.dsolve(eq1))这将返回ODE的显式解(实际上有三个,因为SymPy求解一个三次方程)。其中第一个看起来很合理。
Eq(g(t), (-2*(C1 + t)/(sqrt(-8*(C1 + t)**3 + 729) + 27)**(1/3) - (sqrt(-8*(C1 + t)**3 + 729) + 27)**(1/3))**3/27)https://stackoverflow.com/questions/45308747
复制相似问题