MathGroup Archive 2012

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

Search the Archive

How to increase evaluation speed for nested numerical integration

  • To: mathgroup at smc.vnet.net
  • Subject: [mg127636] How to increase evaluation speed for nested numerical integration
  • From: Sune <sunenj at gmail.com>
  • Date: Fri, 10 Aug 2012 02:40:40 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net

hello.

Newbie here, working with Mathematica 8 on a Windows 7 64-bit system, Intel core i7-2600 @3.4Ghz and 16 GB of RAM. I'm doing a relatively simple double numerical integration of a function composed of trapezoids, but was surprised to see that the computation time was relatively high. The calculation that I need takes about 13 seconds as you can see below, and I need to evaluate it over many different parameters. Is there some way to substantially increase the speed of this execution?

Code:

In[19]:= trap[t_,t1_,t2_,a_]:=Piecewise[{{0,t<0||t>=t1+t2},{a t,t>=0&&t<t1},{a t1,t>=t1&&t<t2},{a (-t+t1+t2),t>=t2&&t<t1+t2}}]
In[20]:= Ga[t_,t1_,t2_,a_,\[CapitalDelta]_]:=trap[t,t1,t2,a]-trap[t-2 \[CapitalDelta],t1,t2,a]
In[21]:= Fa[t_?NumericQ,g_,a_,\[CapitalDelta]_,\[Delta]_]:=NIntegrate[Ga[u,g/a,\[Delta]-g/a,a,\[CapitalDelta]],{u,0,t}]
In[22]:= ba[g_,a_,\[CapitalDelta]_,\[Delta]_]:=(2.675222/10)^2 NIntegrate[Fa[x,g,a,\[CapitalDelta],\[Delta]]^2,{x,0,\[Delta]+2 \[CapitalDelta]}]
In[23]:= Timing[ba[5.5,100000,12,0.25]]
Out[23]= {13.150999999999996,3.234694880849849}

Sune



  • Prev by Date: Re: Text Alignment in Graphics[]
  • Next by Date: Re: Trying to quickly split lists at the point of
  • Previous by thread: Re: Nested numerical integral - speed: Is it suppose to be so slow?
  • Next by thread: Re: Trying to quickly split lists at the point of