Re: Numerical integration and list of points
- To: mathgroup at smc.vnet.net
- Subject: [mg87817] Re: Numerical integration and list of points
- From: antononcube <antononcube at gmail.com>
- Date: Fri, 18 Apr 2008 02:37:26 -0400 (EDT)
- References: <ftvd4f$d89$1@smc.vnet.net> <fu1u4g$omu$1@smc.vnet.net>
Sometimes using Integrate can be faster than using NIntegrate. With your example this is not true, if version 6.0 and higher is used: In[1]:= $Version Out[1]= "6.0 for Mac OS X x86 (32-bit) (June 19, 2007)" In[2]:= f[x_] := Interpolation@Table[{x, Sin[x^2]}, {x, 0., 20, 20/20000}]; In[5]:= Integrate[f[x], {x, 0, 20}] ; // Timing Out[5]= {0.081263, Null} In[6]:= NIntegrate[Sin[x^2], {x, 0, 20}] ; // Timing Out[6]= {0.022355, Null} Anton Antonov Wolfram Research, Inc. On Apr 15, 6:50 am, Szabolcs Horv=E1t <szhor... at gmail.com> wrote: > > Hi, > > Try using Integrate instead ofNIntegrate. Integrate[] supports > InterpolatingFunction objects directly, so this will be much faster than > usingNIntegrate[]. > > (I found out that Integrate can do this only because your message > prompted me to experiment, so thanks for this!) > > Example: > > In[1]:= f = > Interpolation@Table[{x, Sin[x^2]}, {x, 0., 20, 20/20000}]; > > In[2]:= Integrate[f[x], {x, 0, 20}] // Timing > Out[2]= {0.25, 0.639816} > > Check result: > > In[3]:=NIntegrate[Sin[x^2], {x, 0, 20}] > Out[3]= 0.639816 > > (Indeed, NIntegrating this takes a very long time. I haven't had the > patience to wait for it to finish.) > > Szabolcs