derivative — SciPy v1.15.3 Manual (original) (raw)

scipy.interpolate.InterpolatedUnivariateSpline.

InterpolatedUnivariateSpline.derivative(n=1)[source]#

Construct a new spline representing the derivative of this spline.

Parameters:

nint, optional

Order of derivative to evaluate. Default: 1

Returns:

splineUnivariateSpline

Spline of order k2=k-n representing the derivative of this spline.

Notes

Added in version 0.13.0.

Examples

This can be used for finding maxima of a curve:

import numpy as np from scipy.interpolate import UnivariateSpline x = np.linspace(0, 10, 70) y = np.sin(x) spl = UnivariateSpline(x, y, k=4, s=0)

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):

spl.derivative().roots() / np.pi array([ 0.50000001, 1.5 , 2.49999998])

This agrees well with roots \(\pi/2 + n\pi\) of\(\cos(x) = \sin'(x)\).