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
BSpline
object and using itsderivative
method.- 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.