PchipInterpolator#
- class scipy.interpolate.PchipInterpolator(x, y, axis=0, extrapolate=None)[source]#
- PCHIP 1-D monotonic cubic interpolation. - xand- yare arrays of values used to approximate some function f, with- y = f(x). The interpolant uses monotonic cubic splines to find the value of new points. (PCHIP stands for Piecewise Cubic Hermite Interpolating Polynomial).- Parameters:
- xndarray, shape (npoints, )
- A 1-D array of monotonically increasing real values. - xcannot include duplicate values (otherwise f is overspecified)
- yndarray, shape (…, npoints, …)
- A N-D array of real values. - y’s length along the interpolation axis must be equal to the length of- x. Use the- axisparameter to select the interpolation axis.
- axisint, optional
- Axis in the - yarray corresponding to the x-coordinate values. Defaults to- axis=0.
- extrapolatebool, optional
- Whether to extrapolate to out-of-bounds points based on first and last intervals, or to return NaNs. 
 
 - See also - CubicHermiteSpline
- Piecewise-cubic interpolator. 
- Akima1DInterpolator
- Akima 1D interpolator. 
- CubicSpline
- Cubic spline data interpolator. 
- PPoly
- Piecewise polynomial in terms of coefficients and breakpoints. 
 - Notes - The interpolator preserves monotonicity in the interpolation data and does not overshoot if the data is not smooth. - The first derivatives are guaranteed to be continuous, but the second derivatives may jump at \(x_k\). - Determines the derivatives at the points \(x_k\), \(f'_k\), by using PCHIP algorithm [1]. - Let \(h_k = x_{k+1} - x_k\), and \(d_k = (y_{k+1} - y_k) / h_k\) are the slopes at internal points \(x_k\). If the signs of \(d_k\) and \(d_{k-1}\) are different or either of them equals zero, then \(f'_k = 0\). Otherwise, it is given by the weighted harmonic mean \[\frac{w_1 + w_2}{f'_k} = \frac{w_1}{d_{k-1}} + \frac{w_2}{d_k}\]- where \(w_1 = 2 h_k + h_{k-1}\) and \(w_2 = h_k + 2 h_{k-1}\). - The end slopes are set using a one-sided scheme [2]. - References [1]- F. N. Fritsch and J. Butland, A method for constructing local monotone piecewise cubic interpolants, SIAM J. Sci. Comput., 5(2), 300-304 (1984). DOI:10.1137/0905021. [2]- see, e.g., C. Moler, Numerical Computing with Matlab, 2004. DOI:10.1137/1.9780898717952 - Attributes:
- axis
- c
- extrapolate
- x
 
 - Methods - __call__(x[, nu, extrapolate])- Evaluate the piecewise polynomial or its derivative. - derivative([nu])- Construct a new piecewise polynomial representing the derivative. - antiderivative([nu])- Construct a new piecewise polynomial representing the antiderivative. - roots([discontinuity, extrapolate])- Find real roots of the piecewise polynomial.