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

6 views (last 30 days)
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.

Answers (1)

Matt J
Matt J on 2 Jul 2018
Edited: Matt J on 2 Jul 2018
This FEX package has that capability,
See the 'concavedown' input option.
  1 Comment
deRicaud
deRicaud on 2 Jul 2018
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.

Sign in to comment.

Categories

Find more on Polynomials in Help Center and File Exchange

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!