splder#
- scipy.interpolate.splder(tck, n=1)[source]#
Compute the spline representation of the derivative of a given spline
- Parameters:
- tckBSpline instance or tuple
BSpline instance or a tuple (t,c,k) containing the vector of knots, the B-spline coefficients, and the degree of the spline whose derivative to compute
- nint, optional
Order of derivative to evaluate. Default: 1
- Returns:
BSpline
instance or tupleSpline of order k2=k-n representing the derivative of the input spline. A tuple is returned if the input argument tck is a tuple, otherwise a BSpline object is constructed and returned.
See also
Notes
Added in version 0.13.0.
Examples
This can be used for finding maxima of a curve:
>>> from scipy.interpolate import splrep, splder, sproot >>> import numpy as np >>> x = np.linspace(0, 10, 70) >>> y = np.sin(x) >>> spl = splrep(x, y, k=4)
Now, differentiate the spline and find the zeros of the derivative. (NB:
sproot
only works for order 3 splines, so we fit an order 4 spline):>>> dspl = splder(spl) >>> sproot(dspl) / np.pi array([ 0.50000001, 1.5 , 2.49999998])
This agrees well with roots \(\pi/2 + n\pi\) of \(\cos(x) = \sin'(x)\).
A comparison between
splev
,splder
andspalde
to compute the derivatives of a B-spline can be found in thespalde
examples section.