Interpolating function with monotonic decresing first derivative

Hello, everyone.
I want to find an interpolating function with monotonic decreasing first derivative as shown in the figure.
The black points are the data and the red line is the interpolating function I want to get.
The only condition of interpolating function is: dY/dX should monotonic decreasing .
Is their any interpolating function and solve this problem in MATLAB??
Thanks for any helpful ideas.

9 Commenti

There is an infinite number of interpolating functions matching these points and the condition. Is dy/dx < 0 wanted globally or only in the interpolated interval?
"dY/dX should monotonic decreasing "
Your cannot with this data dY/dx is increases in some discrete points so you can never get dY/dx decreases.
Now if you mistake "dY/dx decrease" for "Y decreases" of "dY/dx < 0", that is possible.
Signed by Mr pedantic
Jan
Jan il 17 Ott 2018
Modificato: Jan il 17 Ott 2018
I missed you, Mr. exact Bruno. Maybe "decreasing derivative" is a weak formulation only, maybe it is the actual problem.
I think , that "red" function of the given graph, has an increasing derivative. I wonder whether the restriction is: dy/dx should be negative
I am sorry to cause confusion.
Yes, dY/dX itself should increasing and dY/dX is a negative value globally.
Maybe Y = a*exp(-b*X) with a,b to be determined is a good choice for the function.
For fitting or interpolating?
The purpose of this project is making discontinuous data become continuous. So, I think both options are acceptable.

Accedi per commentare.

 Risposta accettata

You can use PCHIP, either in the toolbox or as option of INTERP1 for shape-preserving interpolation.
For fitting you might take a look at my BSFK tool or John d'Errico SLM.

1 Commento

Thank you for your solution. I realized the interpolating method must pass the data which is not I want. I think I have to try fitting procedure through your opinion.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interpolation in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by