cupyx.scipy.interpolate.make_interp_spline#
- cupyx.scipy.interpolate.make_interp_spline(x, y, k=3, t=None, bc_type=None, axis=0, check_finite=True)[source]#
计算插值 B 样条(的系数)。
- 参数:
x (array_like, 形状 (n,)) – 横坐标。
y (array_like, 形状 (n, ...)) – 纵坐标。
k (int, 可选) – B 样条次数。默认为三次,
k = 3
。t (array_like, 形状 (nt + k + 1,), 可选。) – 节点。节点的数量需要与数据点的数量以及边缘处的导数数量一致。具体来说,
nt - n
必须等于len(deriv_l) + len(deriv_r)
。bc_type (2 元组 或 None) –
边界条件。默认为 None,表示自动选择边界条件。否则,它必须是一个长度为二的元组,其中第一个元素 (
deriv_l
) 设置在x[0]
处的边界条件,第二个元素 (deriv_r
) 设置在x[-1]
处的边界条件。这些元素中的每一个都必须是一个可迭代的对列表(order, value)
,给出在插值区间的给定边缘处的指定阶导数的值。此外,还支持以下字符串别名"clamped"
:两端的第一个导数为零。这等价于
bc_type=([(1, 0.0)], [(1, 0.0)])
。
"natural"
:两端的第二个导数为零。这等价于bc_type=([(2, 0.0)], [(2, 0.0)])
。"not-a-knot"
(默认):第一个和第二个分段是相同的多项式。这等价于设置bc_type=None
。"periodic"
:两端的值和前k-1
个导数是等价的。
axis (int, 可选) – 插值轴。默认为 0。
check_finite (bool, 可选) – 是否检查输入数组只包含有限数。禁用此选项可能会提高性能,但如果输入包含无穷大或 NaNs,可能会导致问题(崩溃、无法终止)。默认为 True。
- 返回:
b
- 返回类型:
一个 BSpline 对象,次数为
k
,节点为t
。