簡體   English   中英

在Sympy中找到微分方程的階

[英]Find the order of a differential equation in Sympy

我有一個在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

上下文:出於教學目的,我編寫了一個常數系數線性齊次ODE的求解器。 它找到特征方程並用Sympy的roots求解。 目前,我必須在ODE本身旁邊手動傳遞ODE訂單,這很不方便。

您可以使用ode_order 這為您提供了相對於函數的微分方程的階數:

>>> ode_order(eq, y)
2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM