sympy - 在 sympy 中求解微分方程组的语法

标签 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
我在堆栈交换中浏览了很多问题,但没有成功找到合适的答案。
如果有人可以向我展示输入具有初始条件的耦合微分方程系统的语法,那将是非常有帮助的。

最佳答案

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)

除非我输入错误( https://github.com/sympy/sympy/issues/8193 ),否则似乎有一个错误阻止了它在当前的 SymPy 主程序中工作。

关于sympy - 在 sympy 中求解微分方程组的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26172733/

相关文章:

python - 如何重载继承自Function类的个人函数的fdiff方法?

python - 控制 SymPy 中的公式表示

python - 如何使用 Sympy NumPy 打印机?

python - 如何识别哪个数学函数生成由 sympy 中的 X 和 Y 数组给出的曲线

python - SymPy "solves"它不应该求解的微分方程

Python sympy dsolve错误

python - 函数矩阵、SymPy 和 SciPy 的数值积分

sum - 带索引变量的符号求和

python - 错误 :float argument required, 不是字典

math - 使用 Sympy 对具有三阶多项式分母的有理函数进行拉普拉斯逆变换