Re: Nested numerical integral - speed: Is it suppose to be so slow?
- To: mathgroup at smc.vnet.net
- Subject: [mg127646] Re: Nested numerical integral - speed: Is it suppose to be so slow?
- From: Sune <sunenj at gmail.com>
- Date: Fri, 10 Aug 2012 02:44:01 -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
- References: <jvvqoq$rfp$1@smc.vnet.net>
W Craig Carter and Bob Hanlon made some suggestions that resulted in a speed up of roughly a factor of 20. I include the code here in case anybody else is interested. (further suggestions are of course also welcome!)
Code:
In[17]:= trap[t_, t1_, t2_, a_] :=
Piecewise[{{a t, 0 < t < t1}, {a t1, t1 < t < t2}, {a (t1 - t + t2),
t2 < t < t2 + t1}}, 0]
In[18]:= Ga[t_, t1_, t2_, a_, \[CapitalDelta]_] :=
trap[t, t1, t2, a] - trap[t - 2 \[CapitalDelta], t1, t2, a]
In[19]:= Fa[t_, g_, a_, \[CapitalDelta]_, \[Delta]_] :=
Integrate[Ga[u, g/a, \[Delta] - g/a, a, \[CapitalDelta]], {u, 0, t},
Assumptions -> Element[{t, g, a, \[Delta], \[CapitalDelta]}, Reals]]
In[20]:= ba[g_,
a_, \[CapitalDelta]_, \[Delta]_] := (2.675222/10)^2 Integrate[
Fa[x, g, a, \[CapitalDelta], \[Delta]]^2, {x,
0, \[Delta] + 2 \[CapitalDelta]},
Assumptions -> Element[{g, a, \[Delta], \[CapitalDelta]}, Reals]]
In[21]:= Timing[ba[5.5, 100000, 12, 0.25]]
Out[21]= {0.702, 3.23471}