我在Sympy (0.7.6.1)中定义了一个微分方程,例如:
>>> y = Function('y')
>>> x = Symbol('x')
>>> y0 = y(x)
>>> y1 = y0.diff(x)
>>> y2 = y1.diff(x)
>>> eq = y2 - 2*y1 + y0
>>> eq
2
d d
y(x) - 2*--(y(x)) + ---(y(x))
dx 2
dx
我想让Sympy告诉我方程的顺序。我在文件里什么也没找到。我隐约希望degree
可以工作,但它没有:
>>> degree(eq)
1
>>> degree(eq, y)
0
上下文:为了教学目的,我写了一个常系数线性齐次方程的求解器.找出特征方程,用Sympy的roots
求解。目前,我不得不在ODE本身旁边手动传递ODE顺序,这是不方便的。
发布于 2015-09-15 01:00:50
您可以使用ode_order
。这给出了微分方程相对于一个函数的顺序:
>>> ode_order(eq, y)
2
https://stackoverflow.com/questions/32581649
复制