help-octave
[Top][All Lists]

## Re: Smooth line approximating minima of a data series

 From: Matthias Brennwald Subject: Re: Smooth line approximating minima of a data series Date: Wed, 24 Feb 2010 13:12:10 +0100

```
On Feb 24, 2010, at 10:38 AM, Carlo de Falco wrote:

```
```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)
```
```
```
No, this is not what I'm after. I am looking for a polynomial (or some other smooth function) that tracks the (local) minima of the data series (as in the plot of my original example). The polyfit function returns a polynomial wich minimizes the sum of the squares of the residuals relative to each of the the data points. In contrast to this, I would like to do the minimization such that each residuals is positive, i.e. polynomial values never exceed the the values in the data series.
```
Matthias

```