莱布尼茨的符号可能有点困惑,特别是在物理问题中,时间是函数被微分的唯一变量。此外,是否有可能不显示 (t) 之类的函数的 x(t) 并且 sympy 仍然理解 xt 的函数并如此对待它?

最佳答案

您可以使用围绕牛顿物理学设计的 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 notebook(如果您想从 scrpt 打印内容,也可以使用 mpprint 等函数)。

如果您想了解有关 SymPy 机制模块的更多信息,请阅读文档,并查看 2014 SciPy session 中的 tutorial

关于python - 是否可以在 sympy 中实现牛顿点表示法(或拉格朗日素数表示法)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25346132/

10-11 02:46