Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Interpolate data with a monotonic piecewise cubic Hermite interpolant
ResourceFunction["CubicMonotonicInterpolation"][{f1,f2,…}] constructs a monotonic cubic Hermite interpolation of the function values fi, assumed to correspond to x values 1, 2, …. | |
ResourceFunction["CubicMonotonicInterpolation"][{{x1,f1},{x2,f2},…}] constructs a monotonic cubic Hermite interpolation of the function values fi corresponding to x values xi. |
Construct an approximate function that interpolates the data:
In[1]:= |
Out[1]= |
Apply the function to find interpolated values:
In[2]:= |
Out[2]= |
Plot the interpolation function along with the original data:
In[3]:= |
Out[3]= |
Interpolate and plot a monotonic data set:
In[4]:= |
Out[4]= |
In[5]:= |
Out[5]= |
Form an interpolation from data given as a TimeSeries:
In[6]:= |
In[7]:= |
Out[7]= |
In[8]:= |
Out[8]= |
In[9]:= |
Out[9]= |
Compare different monotonic interpolation methods:
In[10]:= |
In[11]:= |
In[12]:= |
Out[12]= |
With PeriodicInterpolation->True, the data is interpreted as one period of a periodic function:
In[13]:= |
Out[13]= |
In[14]:= |
Out[14]= |
A monotonic data set:
In[15]:= |
In[16]:= |
Compare CubicMonotonicInterpolation with the built-in "Hermite" and "Spline" methods of Interpolation. The built-in methods do not preserve monotonicity, and give spurious oscillations:
In[17]:= |
Out[17]= |
The interpolant returned by CubicMonotonicInterpolation is continuous up to its first derivative:
In[18]:= |
In[19]:= |
Out[19]= |
This work is licensed under a Creative Commons Attribution 4.0 International License