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