【发布时间】:2016-01-19 05:13:53
【问题描述】:
我只是在学习如何使用 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)
谁能解释一下为什么?
【问题讨论】:
-
你是如何定义
x的? -
我可以为各种
w和phi重现这个,甚至是不定积分。例如,integrate(sin(0.7*x + 0.1), x)给出0。对我来说看起来像一个错误! -
它似乎有相当多的整体错误。 (github.com/sympy/sympy/labels/integrals) 如果
w设置为symbol,它仍然可以正确集成 -
只有当相位是 pi 的整数倍时,它似乎才非零。很奇怪。
-
感谢 cmets,但这对我来说似乎也是一个错误!。