2014-10-03 139 views
3

我是sympy的新手,並且正在學習它。我正在瀏覽堆棧交換中的文檔和問題,使用sympy以符號方式解決具有初始條件的微分方程組。用於求解sympy中微分方程組的語法

我有ODE-S

(dV/dt) = -( 1/RC) * (V(t)) + I(t)/C 

(dI/dt) = -(R1/L) * (I(t)) - (1/L) * V(t) + Vs/L 

的一個簡單的系統,初始條件V(0) = V0I(0) = I0

我經歷了很多的堆疊交換問題,瀏覽並找到一個合適的答案並不成功。 如果有人能給我一個語法來進入具有初始條件的耦合微分方程組,那將會非常有幫助。

+0

http://docs.sympy.org/dev/modules/solvers/ode.html – asmeurer 2014-10-03 22:12:56

回答

2

ODE支持系統僅在SymPy的開發版本中。它將被添加到0.7.6。語法是

V, I = symbols("V I", cls=Function) 
RC, t, C, Vs, L, R1, V0, I0 = symbols("RC t C Vs L R1 V0 I0") 
system = [Eq(V(t).diff(t), -1/RC*V(t) + I(t)/C), Eq(I(t).diff(t), -R1/L*I(t) - 1/L*V(t) + Vs/L)] 
ics = {V(0): V0, I(0): I0} 
dsolve(system, [V(t), I(t)], ics=ics) 

似乎存在阻止這從當前SymPy主的工作,除非我輸錯東西(https://github.com/sympy/sympy/issues/8193)的錯誤。