莱布尼茨的符号可能有点困惑,尤其是在物理问题中,时间是函数求微分的唯一变量。此外,是否可以不显示像 x(t)
这样的函数的 (t)
而 sympy 仍然理解 x
是一个函数t
并这样对待它?
最佳答案
您可以使用 mechanics module ,它是围绕牛顿物理学设计的。特别是,dynamicssymbols
将为您提供一个隐式依赖于 t
的符号。
In [10]: x, y = dynamicsymbols('x y')
In [11]: x
Out[11]: x(t)
默认情况下,这些仍将使用 (t)
打印,但如果您启用机械打印机,它们将不会。
In [1]: from sympy.physics.mechanics import dynamicsymbols, init_vprinting
In [2]: init_vprinting
Out[2]: <function sympy.physics.vector.printing.init_vprinting>
In [3]: init_vprinting()
In [4]: x
Out[4]: x
In [5]: t = sympy.Symbol('t')
In [6]: y.diff(t)
Out[6]: ẏ
在您开发的任何交互式环境中使用 init_vprinting
而不是 init_printing
,例如 IPython 笔记本(如果你想从脚本中打印东西)。
如果您想了解有关 SymPy 机制模块的更多信息,请阅读文档,并查看 tutorial来自 2014 SciPy session 。
关于python - 是否可以在 sympy 中实现牛顿点符号(或拉格朗日素数符号)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25346132/