Re: Fitting a inverse function from complicated integral
- To: mathgroup at smc.vnet.net
- Subject: [mg87231] Re: [mg87210] Fitting a inverse function from complicated integral
- From: Daniel Lichtblau <danl at wolfram.com>
- Date: Sat, 5 Apr 2008 04:20:57 -0500 (EST)
- References: <200804040757.CAA03920@smc.vnet.net>
tibor dubaj wrote:
> Dear Group,
>
> I need to Fit this experimental data {x, OOT}:
>
> data = {
> {1, 444.6},
> {3, 455.15},
> {5, 464.81},
> {7, 467.79},
> {10, 469.01},
> {15, 480.28}}
>
> But there is a big problem with model equation:
>
> x = Integrate[A*Exp[-B/T], {T, 0, OOT}, Assumptions -> A > 0 && B > 0
> && OOT > 0]
>
> So, after integration:
>
> x = A (Exp[-B/OOT] OOT - B Gamma[0, B/OOT])
>
> I need to obtain a INVERSE function, i.e. OOT = f(x) and then find
> (e.g. via FindFit) best fitting parameters A, B.
>
> I have tried Series expansion, PadeApproximant etc., but every
> approximation of mentioned
> model contain A*Exp[-B/T], so I cannot find inverse function.
>
> Can Somebody help me with this problem?
Can be done by reversing data coordinates, specifying a function that
only works for numeric input (to disable symbolic processing), and
giving a large number of iterations.
data = {{1, 444.6}, {3, 455.15}, {5, 464.81}, {7, 467.79}, {10,
469.01}, {15, 480.28}};
func[a_?NumberQ, b_?NumberQ, oot_?NumberQ] :=
NIntegrate[a*Exp[-b/t], {t, 0, oot}]
ff = FindFit[Map[Reverse,data], func[a,b,oot], {a,b},
oot, MaxIterations->500]
Or could do:
xx[a_,b_,oot_] :=
Integrate[a*Exp[-b/t], {t,0,oot}, Assumptions->{a>0,b>0,oot>0}]
ff2 = FindFit[Map[Reverse,data], xx[a,b,oot], {a,b},
oot, MaxIterations->500]
Both give pretty much the same results:
In[17]:= ff = FindFit[Map[Reverse,data], func[a,b,oot],
{a,b}, oot, MaxIterations->500]
Out[17]= {a -> 1.99859*10^11, b -> 12547.7}
Here are the residuals:
gg = xx /. ff;
In[19]:= (gg /. OOT -> data[[All, 2]]) - data[[All, 1]]
Out[19]= {0.63067, 0.282454, 1.0629, 0.29016, -2.14352, 0.410461}
Daniel Lichtblau
Wolfram Research
- References:
- Fitting a inverse function from complicated integral
- From: tibor dubaj <t.dubaj@gmail.com>
- Fitting a inverse function from complicated integral