2010/2/24 Matthias Brennwald <address@hidden>:
Dear all
Consider a series of data values that reflect a smooth function (e.g.
a low-degree polynomial), but there might be additional features in
the data (e.g. narrow peaks or noise). I'd like to fit a polynomial
to
this data, whereby this polynomial reflects a smooth approximation of
the minima of the raw data (I call this the "base line"). The
following might help to illustrate what I'm trying to accomplish:
x = [-1:0.01:1]; % x-axis values
p = [-3 2 1 0]; yp = polyval (p,x); % make up a polynomial
reflecting the "base line" for illustration
y = yp + rand(size(x)); % this would be the raw data
plot (x,y,x,yp); legend ('raw data','base line') % plot the raw
data and the polynomial for illustration
Has anyone an idea of how to accomplish this? Are there standard
methods? I'd appreciate any hints.
Thanks
Matthias
does this do what you want?
x = [-1:0.01:1];
p = [-3 2 1 0]; yp = polyval (p,x)
y = yp + randn(size(x));
plot (x,y,x,yp);
yy = polyfit (x, y, 4)
plot (x, polyval (yy, x), x, y, x, yp)