使用 sympy dsolve 进行简谐运动 returns 错误的解决方案
Using sympy dsolve for simple harmonic motion returns the incorrect solution
所以我尝试使用 sympy 的 dsolve 函数来解决简谐运动的非常简单的情况,即:
我是这样做的:
w = sympy.symbols('ω', real = True, positive=True, nonzero=True)
t = sympy.symbols('t', real = True)
x = sympy.symbols('x')
eq = sympy.diff(sympy.diff(x(t), t), t) + w**2*x
sympy.pprint(sympy.dsolve(eq, x(t)))
当我这样做时,我得到以下解决方案:
而不是我预期的 或 。
这是为什么?
您还没有定义d.e。适当地。应该是
eq = sympy.diff(sympy.diff(x(t), t), t) + w**2*x(t)
请注意,您可以使用更具可读性的 .diff
方法
eq = x(t).diff(t,2) + w**2*x(t)
所以我尝试使用 sympy 的 dsolve 函数来解决简谐运动的非常简单的情况,即:
我是这样做的:
w = sympy.symbols('ω', real = True, positive=True, nonzero=True)
t = sympy.symbols('t', real = True)
x = sympy.symbols('x')
eq = sympy.diff(sympy.diff(x(t), t), t) + w**2*x
sympy.pprint(sympy.dsolve(eq, x(t)))
当我这样做时,我得到以下解决方案:
而不是我预期的 或 。
这是为什么?
您还没有定义d.e。适当地。应该是
eq = sympy.diff(sympy.diff(x(t), t), t) + w**2*x(t)
请注意,您可以使用更具可读性的 .diff
方法
eq = x(t).diff(t,2) + w**2*x(t)