python - Sympy 中使用动态符号的微分方程

标签 python sympy symbolic-math differential-equations

在 Sympy 中,我尝试求解这样的微分方程:

from sympy import *
from sympy.physics.vector import dynamicsymbols
x = dynamicsymbols('x')
diffeq = Eq(x(t).diff(t), x(t))
dsolve(diffeq, x(t))

但这会返回

TypeError                           Traceback (most recent call last)
<ipython-input-10-8a45d7148b24> in <module>()
      1 x = dynamicsymbols('x')
----> 2 diffeq = Eq(x(t).diff(t), x(t))
      3 dsolve(diffeq, x(t))

TypeError: 'x' object is not callable

据我了解,dynamicsymbols 创建了 t 的函数,那么如何在微分方程中使用它?

最佳答案

Sympy docs are a bit confusing作为

的输出
print(x)

事实上

x(t)

但这并不意味着应该调用x(t):

from sympy import *
from sympy.physics.vector import dynamicsymbols
x = dynamicsymbols('x')
diffeq = Eq(diff(x, Symbol('t')), x)
dsolve(diffeq, x)   # Eq(x(t), C1*exp(t))

关于python - Sympy 中使用动态符号的微分方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46168156/

相关文章:

python - 字典到全局环境python

python - 根据列中的值生成子数据框

python - "register"一个单位和带有 sympy 的前缀?

matlab - 通过自动引入时间变量或以任何其他方式简化非常长的符号表达式

python - 符号条件和

Julia Symbolics 无法简化导数表达式

python - 为什么在某些情况下绘图未正确更新为新值

python - 在构建 r 包时附加 python 脚本

python - 获取求解器/sympy 返回对象的最小值/最大值 [Python]

python - 为什么我的 implemented_function() 导致 NameError : global name 'Derivative' is not defined?