在mma8中集成与NIntegrate中的错误

时间:2011-05-17 18:05:52

标签: wolfram-mathematica integrate mathematica-8

这里发生了什么(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。但是,我有兴趣找出具体发生这种情况的原因,以及这个错误是否可以预测。

1 个答案:

答案 0 :(得分:5)

这是Integrate中的错误,我担心。作为解决方法,请更改变量x->u^(-1/2)

In[12]:= Log[1/2 + Sqrt[1/4 - 1/(4*x^2)]]/x Dt[x]/Dt[u] /. 
 x -> 1/Sqrt[u]

Out[12]= Log[1/2 + Sqrt[1/4 - u/4]]/(2 u)

然后

In[14]:= Integrate[%, {u, 1, 0}]

Out[14]= 1/24 (-\[Pi]^2 + Log[8] Log[16])

In[15]:= N[%]

Out[15]= -0.171007

这与NIntegrate同意。