Re: FindFit issue
- To: mathgroup at smc.vnet.net
- Subject: [mg86449] Re: [mg86395] FindFit issue
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Tue, 11 Mar 2008 03:01:59 -0500 (EST)
- Reply-to: hanlonr at cox.net
d = {{1000, 44.576*10^(-3)}, {600, 49.546*10^(-3)}, {800,
46.757*10^(-3)}, {400, 55.023*10^(-3)}, {200, 61.209*10^(-3)}, {10,
71.584*10^(-3)}, {100, 65.367*10^(-3)}};
model = 0.072214 - a*Log[10, 1 + b*x];
Constrain the value of b
param = FindFit[d, {model, 0 < b < 0.01}, {a, b}, x]
{a -> 0.0381336204825204,
b -> 0.004571110864366514}
f[x_] = model /. param
0.072214-0.0165612 log(0.00457111 x+1)
Note that the Log in the definition of f is base e vice base 10.
LogLinearPlot[f[x], {x, 10, 1000},
Epilog -> {Red, AbsolutePointSize[4], Point[{Log[#[[1]]], #[[2]]}] & /@ d}]
Bob Hanlon
---- t.dubaj at gmail.com wrote:
> Hi,
> I am trying to fit experimental data
>
> d = {{1000, 44.576*10^(-3)},
> {600, 49.546*10^(-3)},
> {800, 46.757*10^(-3)},
> {400, 55.023*10^(-3)},
> {200, 61.209*10^(-3)},
> {10, 71.584*10^(-3)},
> {100, 65.367*10^(-3)}}
>
> and model is:
>
> y = 0.072214 - a*Log[10, 1+b*x]
>
> but Mathematica after typing
>
> FindFit[d, 0.072214 - a*Log[10, 1 + b*x], {a, b}, x]
>
> return
>
> FindFit::nrlnum: The function value {-0.0226973-0.0208168 \
> \[ImaginaryI],<<5>>,-0.0282009-<<21>> \[ImaginaryI]} is not a list of
> \
> real numbers with dimensions {7} at {a,b} = {0.0152574,-1.99204}.
>
> {a -> 0.0152574, b -> -1.99204}
>
> (especialy value of "b" is really awful - negative number in Log)
>
> But I know, there is Fit (calculated in Scientist) with coefficients
> a = 0.033706
> b = 0.0057934
>
> Can someone explain what I'm doing wrong?
>
> Best regards,
>
> T.D.
>
>
>