How to constraint the second derivative value while fitting polynomial to set of data

Hello all,
I hope somebody can help me, knowing that I am not an expert in matlab.
Here is my problem: I need to match a polynomial of order n to a set of points (x,y). I know that the found curve has no physical meaning if the second order derivative is higher than 0 or that its sign changes (inflexions). So, I want to constraint the second order derivative of the polynomial to be always negative (not only at the ends).
I am currently using polyfit, which does not offer this option. I have found many articles on this website abount constraints on derivative, ends, but not second derivative on the entire set of points.
Basically, I want to find something always like the green curve (picture below), and not the yellow one, with a 5 order polynomial, for example.
Thank you in advance for your help.
Gaëtan.

Réponses (1)

Matt J
Matt J le 2 Juil 2018
Modifié(e) : Matt J le 2 Juil 2018
This FEX package has that capability,
See the 'concavedown' input option.

1 commentaire

thanks, that's a nice tool! Howerver I'm a bit afraid of the complexity of it, knowing I need to run it hundreds of time in my code, and also that I might have issue explaining why I use Hermite spline. But thanks, I will dig into it to see how it is built, to see if I can find an easy way to do the concavedown.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Polynomials dans Centre d'aide et File Exchange

Produits

Version

R2016a

Question posée :

le 2 Juil 2018

Commenté :

le 2 Juil 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by