 
 
 
 
 
 
Re: Linear and logarithmic fit
- To: mathgroup at smc.vnet.net
- Subject: [mg39368] Re: Linear and logarithmic fit
- From: "Kevin J. McCann" <KevinMcCann!kjm at uunet.uu.net>
- Date: Thu, 13 Feb 2003 04:51:53 -0500 (EST)
- References: <b2d1ig$eak$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
What you want, probably, is a least squares fit, and then decide by
whichever one gives you the smallest residual. The least-squares fit picks a
function, e.g. a+b x. Then, given (a,b) computes the sum of the squares of
the difference between your data points and the straight line. Then you seek
those parameters (a,b) which minimize the resulting sum (residual). Here is
some code to do that. lsfit takes two arguments (a,b) and returns the
residual, FindMinimum then minimizes. The output of FindMinimum is the
residual and two rules with the best (a,b). Substitute your own function for
f[x_] in the body of lsfit.
Cheers,
Kevin
data = Table[{x, Sqrt[x]},
{x, 1., 3., 0.25}]
Plus @@ Apply[(f[#1] - #2)^2 & , data, {1}]
lsfit[(p_)?NumberQ, (q_)?NumberQ] :=
Module[{soln, f}, f[x_] := p + q*x;
Plus @@ Apply[(f[#1] - #2)^2 & , data,
{1}]]
lsfit[1, 1]
FindMinimum[lsfit[a, b], {a, -2, 2},
{b, -2, 2}]
lsfit[(p_)?NumberQ, (q_)?NumberQ] :=
Module[{soln, f}, f[x_] := p + q*Log[x];
Plus @@ Apply[(f[#1] - #2)^2 & , data,
{1}]]
FindMinimum[lsfit[a, b], {a, -2, 2},
{b, -2, 2}]
"jay Johnson" <joh_nson at yahoo.com> wrote in message
news:b2d1ig$eak$1 at smc.vnet.net...
> Hi everybody,
>
> If I have 9 points in a 2 dimensional space how do I decide if they
> fit better a linear function or a logarithmic function?
>
> Thanks in advance,
>
> Jay
>

