splrep

New in version 2.00.10.

语法

splrep(x, y, t)

参数

x/y Integral/Temporal/Floating 类型向量,定义三次样条曲线 y = f(x) 的数据点。注意,x 与 y 的输入值须保证相同长度,且 y 的输入值须为递增向量。

t 向量,可选,表示结点。样条在结点两边可以是不同的多项式。t 须满足 Schoenberg-Whitney 条件,如必须存在一个数据点的子集 x[j] 对于所有的 j=0, 1,…,n-5,满足 t[j] < x[j] < t[j+4]。

详情

splrep 全称 Spline Representation,即样条插值函数,要求找到一维曲线的 B 样条表示。在给定数据点集 (x[i], y[i]) 后,使用该函数可确定在区间 x[0] <= x <= x[size(x)-1] 上的度数为 3 的平滑样条逼近。注意,若 x, y, t 传入参数中包含 NULL 将直接填充为 0。

返回值为一个长度为3的元组,其各个元素的含义如下:

第一个元素:向量,表示样条曲线的结点。

第二个元素:向量,表示 B 样条系数。

第三个元素:标量,表示样条的次数。

例子

$ x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
$ y = [0, 3, 5, 6, 5, 3, 1, 2, 4, 5]
$ t=[1,3,5,8]
$ tck= splrep(x, y, t=t)
$ print(tck)

([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)

相关函数:splev