求解同情微分方程组的句法

时间:2014-10-03 03:07:25

标签: sympy

我不熟悉并且在学习它的过程中。我正在浏览堆栈交换中的文档和问题,使用sympy以符号方式解决具有初始条件的微分方程组。

我有一个简单的ODE系统

( 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

我在堆栈交换中浏览了很多问题,并没有成功找到合适的答案。 如果有人能告诉我一个语法来进入具有初始条件的耦合微分方程系统,那将是非常有帮助的。

1 个答案:

答案 0 :(得分:3)

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)。