splev

语法

splev(x, tck)

参数

x Integral/Temporal/Floating 类型向量。一组点,用来获得样条上的对应的值。

tck 三元组或 B 样条曲线对象。若传入元组,则应为长度为3的序列;若传入 B 样条曲线对象,则应包含节点 t、B 样条系数 c 和样条次数 k,可使用函数 splrep 生成。注意,须遵守 1<=k<=5。

详情

splev 全称 Spline Evaluation,即评估 B 样条曲线或其导数。给定 B 样条表示的节点和系数,使用该函数可求解平滑多项式及其导数的值。若 x, tck 传入参数中包含 None 将直接填充为 0。

返回值 y 为 DOUBLE 类型的向量,表示在 x 点处求解的样条函数值的数组。
注:

不建议自定义 tck,如果 tck 不是由 splrep 生成,则返回的 y 可能是随机值,也可能全为0。

例子

x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [0, 3, 5, 6, 5, 3, 1, 2, 4, 5]
newx = [0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5]
t=[1,3,5,8]
tck= splrep(x, y, t=t)
print(tck)
# output
([0,0,0,0,1,3,5,8,9,9,9,9],
[0,2.234794827972243,2.999908797063527,8.195517483732592,0.982766102937427,0.416533320193195,6.868465914739519,5,0,0,0,0],
3)

newy = splev(newx, tck)
print(newy)
# output
[2.147514374187927,3.928180605155257,5.780093403045226,5.788551610920491,3.842319632145274,1.928386784305488,1.343262026468735,2.600266282317609,5.680148059970901,-0.902321655035049] 

相关函数:splrep