scipy.interpolate.
splder#
- scipy.interpolate.splder(tck, n=1)[source]#
- 计算给定样条的导数的样条表示 - 旧版 - 此函数被视为旧版,将不再接收更新。虽然我们目前没有计划将其移除,但我们建议新代码改用更现代的替代方案。具体来说,我们建议构造一个 - BSpline对象并使用其- derivative方法。- 参数:
- tckBSpline 实例或元组
- BSpline 实例或一个包含节点向量、B 样条系数以及要计算其导数的样条阶数的元组 (t,c,k) 
- n整型,可选
- 要计算的导数阶数。默认值: 1 
 
- 返回:
- BSpline实例或元组
- 阶数为 k2=k-n 的样条,表示输入样条的导数。如果输入参数 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) - 现在,对样条进行微分并找到导数的零点。(注意: - sproot仅适用于 3 阶样条,因此我们拟合一个 4 阶样条)- >>> dspl = splder(spl) >>> sproot(dspl) / np.pi array([ 0.50000001, 1.5 , 2.49999998]) - 这与 \(\cos(x) = \sin'(x)\) 的根 \(\pi/2 + n\pi\) 非常吻合。