scipy.interpolate.pchip_interpolate#
- scipy.interpolate.pchip_interpolate(xi, yi, x, der=0, axis=0)[source]#
Convenience function for pchip interpolation.
xi and yi are arrays of values used to approximate some function f, with
yi = f(xi)
. The interpolant uses monotonic cubic splines to find the value of new points x and the derivatives there.See
scipy.interpolate.PchipInterpolator
for details.- Parameters:
- xiarray_like
A sorted list of x-coordinates, of length N.
- yiarray_like
A 1-D array of real values. yi’s length along the interpolation axis must be equal to the length of xi. If N-D array, use axis parameter to select correct axis.
- xscalar or array_like
Of length M.
- derint or list, optional
Derivatives to extract. The 0th derivative can be included to return the function value.
- axisint, optional
Axis in the yi array corresponding to the x-coordinate values.
- Returns:
- yscalar or array_like
The result, of length R or length M or M by R.
See also
PchipInterpolator
PCHIP 1-D monotonic cubic interpolator.
Examples
We can interpolate 2D observed data using pchip interpolation:
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.interpolate import pchip_interpolate >>> x_observed = np.linspace(0.0, 10.0, 11) >>> y_observed = np.sin(x_observed) >>> x = np.linspace(min(x_observed), max(x_observed), num=100) >>> y = pchip_interpolate(x_observed, y_observed, x) >>> plt.plot(x_observed, y_observed, "o", label="observation") >>> plt.plot(x, y, label="pchip interpolation") >>> plt.legend() >>> plt.show()