scipy.interpolate.LSQUnivariateSpline.

derivative#

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

构建一个新的样条曲线,表示该样条曲线的导数。

参数:
nint, 可选

要评估的导数阶数。默认值:1

返回值:
splineUnivariateSpline

阶数为 k2=k-n 的样条曲线,表示该样条曲线的导数。

备注

在 0.13.0 版中添加。

示例

这可以用于查找曲线的最大值

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

现在,对样条曲线求导,并找到导数的零点。(注意:sproot 仅适用于 3 阶样条曲线,因此我们拟合了一个 4 阶样条曲线)

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

这与 \(\cos(x) = \sin'(x)\) 的根 \(\pi/2 + n\pi\) 相符。