是否有可能在同情中实现Newton的Dot Notation(或Lagrange的Prime表示法)?

时间:2014-08-17 03:39:42

标签: python physics sympy

Leibniz的符号可能只是有点混乱,特别是在物理问题中,时间是功能被区分的唯一变量。此外,是否可以不为(t)这样的函数显示x(t),同时仍然了解xt的函数并将其视为这样?

1 个答案:

答案 0 :(得分:7)

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

如果您想了解有关SymPy力学模块的更多信息,请阅读文档,并查看2014年SciPy会议中的tutorial