求解可分离微分方程

Solving separable differential equation

我想用SymPy简单可分方程y'=e^(y-x)求解,但是SymPy解不出来!

from sympy import *
x = symbols("x")
y = Function("y")
dsolve(Eq(Derivative(y(x), x), exp(y(x)-x)), y(x))

但它成功地解决了类似的方程式y'=e^(y+x)。

非常感谢任何解决此问题的想法!

根据我的意见,修改脚本阅读

eq = Eq(Derivative(y(x), x), exp(y(x)-x))
print(classify_ode(eq,y(x)))

returns

('factorable', 'separable', '1st_power_series', 'lie_group', 'separable_Integral')

如您所见,'factorable' 的方法似乎已损坏。显式使用第二种方法,

dsolve(eq, y(x), hint='separable')

快returns解决。

对于另一个方程,方法列表是

('separable', '1st_power_series', 'lie_group', 'separable_Integral')

这样有问题的方法就不用了。为什么微不足道的符号差异会在分类器中产生如此大的差异,只有开发人员才知道。