Re: Forcing a Fit through a Data Point (Mathematica 5)
- To: mathgroup at smc.vnet.net
- Subject: [mg43618] Re: Forcing a Fit through a Data Point (Mathematica 5)
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Tue, 23 Sep 2003 04:02:47 -0400 (EDT)
- Organization: The University of Western Australia
- References: <bkm7pa$rhj$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
In article <bkm7pa$rhj$1 at smc.vnet.net>,
Hank Shih <airforce1 at comcast.net> wrote:
> Hello all. I have a set of data for a experiment and I want to create
> the best fit line. Based on the x-y coordinate system, I need the line
> to go through (0, 0) no matter what.
Note that this is generally bad practice: the fact that your best-fit
line may not go through {0,0} actually tells you something useful --
that your calibration (zero-adjustment) may not be correct.
> The data is as followed: data =
> {{0,0}, {.5,.25}, {1,.4}, {1.5,.5}, {2,.625}, {2.5,.84615}, {3,1},
> {3.5,1.0588}}.
Have you added the point {0,0} to your dataset or is this a measured
value? Of course, adding {0,0} will not force the line to go through
{0,0}.
> So far, to get the best fit I use:
>
> data = {{0,0}, {.5,.25}, {1,.4}, {1.5,.5}, {2,.625}, {2.5,.84615},
> {3,1}, {3.5,1.0588}}.
>
> abc = Fit[data, {1, x, x}, x]
You have a repeated x in the basis set. If you delete the constant term
from the basis then you will get a linear fit that goes through {0,0}.
Fit[data, {x}, x]
Another approach is to load <<Statistics` and use NonlinearFit. You can
modify the weighting of the data points, inversely proportional, say, to
their associated errors.
Cheers,
Paul
--
Paul Abbott Phone: +61 8 9380 2734
School of Physics, M013 Fax: +61 8 9380 1014
The University of Western Australia (CRICOS Provider No 00126G)
35 Stirling Highway
Crawley WA 6009 mailto:paul at physics.uwa.edu.au
AUSTRALIA http://physics.uwa.edu.au/~paul