这里发生了什么(Mathematica 版本 8.x):
NIntegrate[Log[1/2 + Sqrt[1/4 - 1/(4 x^2)]]/x, {x, 1, Infinity}]
--> -0.171007
Integrate[Log[1/2 + Sqrt[1/4 - 1/(4 x^2)]]/x, {x, 1, Infinity}] // N
--> 0.171007
NIntegrate[]
值是正确的。我之前遇到过PrincipalValue
选择问题,但是 a) 这些已在 mma8 中修复,b) 此积分在积分区域中没有或至少不应该有极点。
编辑:感谢人们提出解决此问题的方法,一般的解决方案是,例如,仅使用NIntegrate
. 但是,我有兴趣找出为什么会发生这种情况,以及这个错误是否是可预测的。