[Scilab-users] To find maximum value in a random curve

Dang, Christophe Christophe.Dang at sidel.com
Thu Feb 20 09:47:48 CET 2014


Hello, 

> De la part de bomber1978
> Envoyé : mercredi 19 février 2014 11:32
>
> I have a random 2D-curve which is defined by a set of points
> (I don't know the equation of the curve) [...]
> How can I find the maximum, minimum, & inflexion points on this curve.

This is more a methodology problem than a Scilab problem.

You don't have a model to fit your data, so you have two solutions:

perform a non-parametric analysis, e.g.
the min() and max() functions give you the extrema of the values you have, but you don't have things like inflection point.

smooth the data, extract the second derivative
and detect when it goes through 0.
You can look at the Savitzky-Golay algorithm,
which gives the derivatives.

You have an example of its implementation here when the points are evenly spaced :

http://commons.wikimedia.org/wiki/File:Savitzky-golay_pic_gaussien_bruite.svg

If the point sare not evenly spaced, you then have to perform a polynomial regression on a sliding interval "manually".

Hope this helps.

-- 
Christophe Dang Ngoc Chan
Mechanical calculation engineer

______________________________________________________________________

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error), please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
______________________________________________________________________



More information about the users mailing list