 
 
 
 
 
 
Re: Making a function from the output of the Fit function.
- To: mathgroup at smc.vnet.net
- Subject: [mg121514] Re: Making a function from the output of the Fit function.
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Sun, 18 Sep 2011 04:10:55 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
On 9/17/11 at 6:25 AM, forpeopleidontknow at gmail.com (Just A Stranger)
wrote:
>So I am trying to use the Fit ffunction to make another function.
>So I want to do something like this:
>f[x_] := Fit[ data, {1,x}, x]
>But I want f[x] to be the function for the line, a+bx. But as
>written above it does not have this result of course (I know it's
>because whatever gets passed is used as an argument for the fit
>function, so passing a number doesn't work, and passing a variable
>simply isn't what I want to do) So how can I use the fit function to
>get f[x_] :=  a+bx (where a and b are the appropriate constants. )
Use Set here instead of DelayedSet. DelayedSet is not optimum
here since every call to f will cause the fit parameters to be
recomputed. For only two parameters, this overhead probably
won't be significant. What you want can be done with Fit as follows:
In[24]:= data = RandomReal[1, 10];
In[25]:= f[x_] = Fit[data, {1, x}, x];
In[26]:= f[3]
Out[26]= 0.609511
In[27]:= f[y]
Out[27]= 0.017942 y+0.555686

