scipy.interpolate.LSQUnivariateSpline.
derivative#
- LSQUnivariateSpline.derivative(n=1)[原始碼]#
建構一個新的樣條,表示此樣條的導數。
- 參數:
- 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])
這與 roots \(\pi/2 + n\pi\) of \(\cos(x) = \sin'(x)\) 非常吻合。