scipy.interpolate.UnivariateSpline.
導數#
- UnivariateSpline.derivative(n=1)[source]#
建構一個新的 spline,代表此 spline 的導數。
- 參數:
- nint, 選填
導數的階數,預設值:1
- 回傳值:
- splineUnivariateSpline
代表此 spline 導數,階數為 k2=k-n 的 Spline。
另請參閱
註解
版本 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)
現在,微分 spline 並找出導數的零點。(注意:
sproot
僅適用於 3 階 spline,因此我們擬合一個 4 階 spline)>>> spl.derivative().roots() / np.pi array([ 0.50000001, 1.5 , 2.49999998])
這與 \(\cos(x) = \sin'(x)\) 的根 \(\pi/2 + n\pi\) 非常吻合。