scipy.interpolate.LSQUnivariateSpline.derivative

LSQUnivariateSpline.derivative(n=1)[源代码]

构造一个表示该样条的导数的新样条。

参数
n整型,可选

要计算的导数的顺序。默认值:1

退货
splineUnivariateSpline

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

注意事项

0.13.0 新版功能.

示例

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

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

这与根非常吻合。 \(\pi/2 + n\pi\)\(\cos(x) = \sin'(x)\)