CubicHermiteSpline#
- class scipy.interpolate.CubicHermiteSpline(x, y, dydx, axis=0, extrapolate=None)[source]#
Piecewise cubic interpolator to fit values and first derivatives (C1 smooth).
The result is represented as a
PPolyinstance.- Parameters:
- xarray_like, shape (n,)
1-D array containing values of the independent variable. Values must be real, finite and in strictly increasing order.
- yarray_like
Array containing values of the dependent variable. It can have arbitrary number of dimensions, but the length along
axis(see below) must match the length ofx. Values must be finite.- dydxarray_like
Array containing derivatives of the dependent variable. It can have arbitrary number of dimensions, but the length along
axis(see below) must match the length ofx. Values must be finite.- axisint, optional
Axis along which y is assumed to be varying. Meaning that for
x[i]the corresponding values arenp.take(y, i, axis=axis). Default is 0.- extrapolate{bool, ‘periodic’, None}, optional
If bool, determines whether to extrapolate to out-of-bounds points based on first and last intervals, or to return NaNs. If ‘periodic’, periodic extrapolation is used. If None (default), it is set to True.
- Attributes:
- xndarray, shape (n,)
Breakpoints. The same
xwhich was passed to the constructor.- cndarray, shape (4, n-1, …)
Coefficients of the polynomials on each segment. The trailing dimensions match the dimensions of y, excluding
axis. For example, if y is 1-D, thenc[k, i]is a coefficient for(x-x[i])**(3-k)on the segment betweenx[i]andx[i+1].- axisint
Interpolation axis. The same axis which was passed to the constructor.
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.
integrate(a, b[, extrapolate])Compute a definite integral over a piecewise polynomial.
solve([y, discontinuity, extrapolate])Find real solutions of the equation
pp(x) == y.roots([discontinuity, extrapolate])Find real roots of the piecewise polynomial.
See also
Akima1DInterpolatorAkima 1D interpolator.
PchipInterpolatorPCHIP 1-D monotonic cubic interpolator.
CubicSplineCubic spline data interpolator.
PPolyPiecewise polynomial in terms of coefficients and breakpoints
Notes
If you want to create a higher-order spline matching higher-order derivatives, use
BPoly.from_derivatives.References
[1]Cubic Hermite spline on Wikipedia.