splder#
- scipy.interpolate.splder(tck, n=1)[source]#
Compute the spline representation of the derivative of a given spline
Legacy
This function is considered legacy and will no longer receive updates. While we currently have no plans to remove it, we recommend that new code uses more modern alternatives instead. Specifically, we recommend constructing a
BSplineobject and using itsderivativemethod.- 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:
BSplineinstance 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:
sprootonly 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,splderandspaldeto compute the derivatives of a B-spline can be found in thespaldeexamples section.