scipy.interpolate.UnivariateSpline.
derivative#
- UnivariateSpline.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\) 非常吻合。