Nintegrate错误:评估集成区域外的功能

时间:2013-06-06 16:30:25

标签: wolfram-mathematica

我试图将此功能与mathematica 9进行整合

NIntegrate[
 c4[u, v, w] Cos[ 2*w] , {u, -\[Infinity],
   0}, {v, -\[Infinity], u}, {w, -\[Infinity], v]

with
c4[x_, y_, z_] := 
  E^(-((x^2 + y^2 + z^2)/
    4 )) (E^((x y)/2 ) + E^((x z)/2 ) + E^((y z)/2));

我有这个错误:

  

NIntegrate :: ncvb:在{u,v,w} = {0.0000318293,2.37147 * 10 ^ -13,0.0000318293}附近的v中27次递归二分之后,NIntegrate未能收敛到规定的精度。对于积分和误差估计,NIntegrate获得-6.039603923653673 * 10 ^ 7640189323695和6.039603923653673`15.954589770191005 * ^ 7640189323695。 >>

NIntegrate尝试评估集成区域外的被积函数。怎么可能?

1 个答案:

答案 0 :(得分:1)

怀疑它不是,而是NIntegrate在内部对posivive域进行变量替换,以便错误消息令人困惑:

请注意,如果您自己进行此更改,则会收到完全相同的错误消息。

 NIntegrate[c4[-u, -v, -w] Cos[-2 w], {u, 0, \[Infinity]}, {v,  u, \[Infinity]}, {w, v, \[Infinity]}]

如果你看看有限边界会发生什么:

ListPlot[Table[ {s,
  NIntegrate[
   c4[u, v, w] Cos[2 w],
            {u, -s, 0}, 
             {v, -s, u}, 
             {w, -s, v}]} ,   {s, 1, 8, .25}], Joined -> True]

enter image description here

我想你会发现这个东西不太可能在无限远处收敛......