[Date Index] [Thread Index] [Author Index]
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.