---
source_url: https://docs.dolphindb.cn/zh/funcs/s/splrep.html
fetched_at: 2026-05-19T09:39:45Z
category: funcs
title: splrep
sha1: ad141e14e370c7e159fd9a16aea582428574c259
---

# splrep

## 语法

`splrep(x, y, t)`

## 详情

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

## 参数

**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]。

## 返回值

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

- 第一个元素：向量，表示样条曲线的结点。
- 第二个元素：向量，表示 B 样条系数。
- 第三个元素：标量，表示样条的次数。

## 例子

```dolphindb
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)
//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)
```

相关函数：[splev](splev.html)
