scipy.interpolate.
splder#
- scipy.interpolate.splder(tck, n=1)[原始碼]#
計算給定 spline 的導數的 spline 表示式
傳統
此函數被視為傳統函數,將不再接收更新。雖然我們目前沒有移除它的計劃,但我們建議新程式碼改用更現代的替代方案。具體來說,我們建議建構一個
BSpline
物件並使用其derivative
方法。- 參數:
- tckBSpline 實例或元組
BSpline 實例或一個包含節點向量、B-spline 係數和要計算導數的 spline 次數的元組 (t,c,k)
- nint,可選
要評估的導數階數。預設值:1
- 返回:
BSpline
實例或元組代表輸入 spline 的導數的 k2=k-n 階 spline。如果輸入參數 tck 是元組,則返回元組,否則建構並返回 BSpline 物件。
另請參閱
註解
在 0.13.0 版本中新增。
範例
這可用於尋找曲線的最大值
>>> from scipy.interpolate import splrep, splder, sproot >>> import numpy as np >>> x = np.linspace(0, 10, 70) >>> y = np.sin(x) >>> spl = splrep(x, y, k=4)
現在,微分 spline 並找到導數的零點。(注意:
sproot
僅適用於 3 階 spline,因此我們擬合一個 4 階 spline)>>> dspl = splder(spl) >>> sproot(dspl) / np.pi array([ 0.50000001, 1.5 , 2.49999998])
這與 \(\cos(x) = \sin'(x)\) 的根 \(\pi/2 + n\pi\) 非常吻合。
在
spalde
範例章節中,可以找到splev
、splder
和spalde
之間計算 B-spline 導數的比較。