Re: Fit data with range
- To: mathgroup at smc.vnet.net
- Subject: [mg88402] Re: Fit data with range
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Mon, 5 May 2008 06:08:19 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <fvhdv7$3q6$1@smc.vnet.net>
Ivan wrote:
> I want to fit a polynomial function to a set of data,
> only between say xmin to xmax. How can I do that?
> I know only how to fit the whole range.
>
> For example:
>
> data = ReadList["file.dat",{Number,Number}];
>
> fit = Fit[data,{1,x,x^2},x]
>
> Plot[fit,{x,0,10}]
You could use *Select[]* to massage your data. For instance,
data = {{0, 1}, {1, 0}, {3, 2}, {5, 4}, {7, 8}, {9, 11}};
xmin = 1; xmax = 7;
pts = Select[data, xmin <= #[[1]] <= xmax &]
fit = Fit[pts, {1, x, x^2}, x]
Show[ListPlot[pts, PlotStyle -> {Red, PointSize -> Large}],
Plot[fit, {x, xmin, xmax}, PlotStyle -> {Blue, Thick}]]
{{1, 0}, {3, 2}, {5, 4}, {7, 8}}
2
-0.325 + 0.3 x + 0.125 x
Regards,
-- Jean-Marc