scipy.interpolate.InterpolatedUnivariateSpline.

導數#

InterpolatedUnivariateSpline.derivative(n=1)[原始碼]#

建構一個新的樣條函數來表示此樣條函數的導數。

參數:
nint, 選填

導數的階數。預設值:1

回傳值:
splineUnivariateSpline

階數為 k2=k-n 的樣條函數,代表此樣條函數的導數。

另請參閱

splder, antiderivative

註解

版本 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\) 非常吻合。