MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Method to eliminate NIntegrate warning

Soo-Hwan Kim wrote:
> I want to know the method to eliminate NIntegrate warning.
> The two warning message follows :
> NIntegrate::slwcon:
>    Numerical integration converging too slowly;
>      suspect one of the following: singularity,
>      oscillatory integrand, or insufficient
>      WorkingPrecision.
> NIntegrate::ncvb:
>    NIntegrate failed to converge to prescribed
>      accuracy after 7 recursive bisections in x near
>     x = 0.126684.
> How can I escape from this problem ? When above-case happened,
> can I believe the accuracy of my data ?

A better question is:  when you don't get the error message, can you
believe the accuracy of your data?  The message is just that, a
warning.  If it offends you, turn it off using Off[](see the
mathematica book 2.8.21).  Don't blindly trust a numerical routine,
even one as well written as the one in mathematica.  Learn about the
issues involved in numeric integrals and write your own routine if you
have any reason to suspect mathematicas.  The fact that the error
message says it is using bisections and there are only 7 of them tells
me two things- one, you could try increasing the WorkingPrecision and
AccuracyGoal.  Two, bisections are notoriously subject to aliasing, so
if your data is at all oscillatory or it anything other than a nice,
smooth function, you probably should write your own.  I am partial to a
Romberg 3,4,5 method in these cases, but you probably have your own
preferences. -- 
Remove the _nospam_ in the return address to respond.

  • Prev by Date: Re: List Manipulation
  • Next by Date: Re: Shooting Problem
  • Prev by thread: Method to eliminate NIntegrate warning
  • Next by thread: RE: Method to eliminate NIntegrate warning