Sympy:integrate()奇怪的输出

use*_*970 5 python sympy

我只是学习如何使用sympy,我尝试了一个简单的sin函数集成.当参数sin()具有恒定的相位常数时,integrate()无论相位如何,输出都给出相同的值:0

from sympy import *
w = 0.01
phi = 0.3
k1 = integrate(sin(w*x), (x, 0.0, 10.0))
k2 = integrate(sin(w*x + 0.13), (x, 0.0, 10.0))
k3 = integrate(sin(w*x + phi),(x, 0.0, 10.0))
k1, k2, k3

(0.499583472197429, 0, 0)
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下为什么吗?

asm*_*rer 0

我刚刚在 SymPy 的开发版本中运行了你的代码,我得到了(0.499583472197429, 1.78954987094131, 3.42754951227208). 所以看来这个bug会在下一个版本中修复。

看起来这个 bug 只存在于 Python 2 中。当我使用 Python 3 时,即使使用最新的稳定版本 (0.7.6.1),我也会得到相同的答案。