CubicHermiteSpline — SciPy v1.15.2 Manual (original) (raw)
scipy.interpolate.
class scipy.interpolate.CubicHermiteSpline(x, y, dydx, axis=0, extrapolate=None)[source]#
Piecewise-cubic interpolator matching values and first derivatives.
The result is represented as a PPoly instance.
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 of x
. 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 of x
. Values must be finite.
axisint, optional
Axis along which y is assumed to be varying. Meaning that forx[i]
the corresponding values are np.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.
Notes
If you want to create a higher-order spline matching higher-order derivatives, use BPoly.from_derivatives.
References
Attributes:
xndarray, shape (n,)
Breakpoints. The same x
which 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, then c[k, i]
is a coefficient for(x-x[i])**(3-k)
on the segment between x[i]
and x[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. |
roots([discontinuity, extrapolate]) | Find real roots of the piecewise polynomial. |