splder — SciPy v1.15.3 Manual (original) (raw)
scipy.interpolate.
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 tuple
Spline 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.
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 and spalde to compute the derivatives of a B-spline can be found in the spalde examples section.