一. 原理介绍
-
在数学中,
插值(Interpolation)
是指通过已知的离散数据点,构造一个连续的函数,该函数能够精确地通过这些数据点,并用来估算在数据点之间或之外的值。 -
设 S = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) S = {(x_1, y_1), (x_2, y_2), \dots, (x_n, y_n)} S=(x1,y1),(x2,y2),…,(xn,yn)是一组已知的离散数据点,其中插值问题的目标是找一个函数 f ( x ) f(x) f(x)使得:
f ( x i ) = y i ( i = 1 , 2 , … , n ) f(x_i) = y_i \quad( i = 1, 2, \dots, n) f(xi)=yi(i=1,2,…,n)
对所有的数据点都同时成立.
即函数f(x)必须通过所有给定的数据点。
二. 图例

例如我们有上述通过多项式插值方法得到的曲线图样:
(1)在插值点处,插值曲线和插值点的取值完全相同(或者说插值曲线完全经过所有数据点)
(2)在非插值点处没有任何参照指标,函数曲线的图样经过的点对于真实值可能存在较大偏差
(3)可以证明插值函数具有唯一性
这里解释一下插值函数的唯一性:
我们假设数据点有n+1个
- 插值函数的唯一性描述的是取其中一种具有相同表达形式的插值函数(例如
多项式插值
),关于这个多项式插值的不同次项系数是可以唯一确定的。常见的我们取n次多项式
来进行数据点的插值。 - 假设取高于数据点维数的多项式进行插值,我们可以证明其系数不唯一,例如取
n+1次多项式
进行插值,等同于求解变量(n+2)大于方程数(n+1)的方程组,基于我们已知的数据点,所求解的方程存在无数组解。 - 如果取一
非线性函数
对数据点进行插值,若存在n+1个待求解的系数(包含常数项),且系数之间相互独立,则该方程具有唯一解,也就是说对于n维的非线性插值函数也是唯一的。
我们说插值的函数是不唯一的,但当我们选定要插值的函数时,其待求解的系数和数据点数量等同时,插值函数是唯一的,由此我们说插值函数具有唯一性
三. 唯一性表述
这里给出其中一种关于n次多项式作为插值函数的唯一性的标准证明过程
- 问题表述
给定 n+1个插值点 ( x 0 , y 0 ) , ( x 1 , y 1 ) , … , ( x n , y n ) (x_0, y_0), (x_1, y_1), \ldots, (x_n, y_n) (x0,y0),(x1,y1),…,(xn,yn),希望找到一个次数不超过n的多项式
P ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a n x n P(x) = a_0 + a_1 x + a_2 x^2 + \cdots + a_n x^n P(x)=a0+a1x+a2x2+⋯+anxn
使得对每个插值点
(
x
i
,
y
i
)
(x_i, y_i)
(xi,yi),都有
P
(
x
i
)
=
y
i
P(x_i) = y_i
P(xi)=yi
现证明其中参数
a
0
、
a
1
、
.
.
.
、
a
n
a_0、a_1、...、a_n
a0、a1、...、an都可唯一确定。
- 建立方程组
(1)将插值点代入
P
(
x
)
P(x)
P(x),可得方程组:
P
(
x
0
)
=
y
0
⇒
a
0
+
a
1
x
0
+
a
2
x
0
2
+
⋯
+
a
n
x
0
n
=
y
0
,
P
(
x
1
)
=
y
1
⇒
a
0
+
a
1
x
1
+
a
2
x
1
2
+
⋯
+
a
n
x
1
n
=
y
1
,
⋮
P
(
x
n
)
=
y
n
⇒
a
0
+
a
1
x
n
+
a
2
x
n
2
+
⋯
+
a
n
x
n
n
=
y
n
.
\begin{aligned} & P(x_0) = y_0 \quad \Rightarrow \quad a_0 + a_1 x_0 + a_2 x_0^2 + \cdots + a_n x_0^n = y_0, \\ & P(x_1) = y_1 \quad \Rightarrow \quad a_0 + a_1 x_1 + a_2 x_1^2 + \cdots + a_n x_1^n = y_1, \\ & \quad \vdots \\ & P(x_n) = y_n \quad \Rightarrow \quad a_0 + a_1 x_n + a_2 x_n^2 + \cdots + a_n x_n^n = y_n. \end{aligned}
P(x0)=y0⇒a0+a1x0+a2x02+⋯+anx0n=y0,P(x1)=y1⇒a0+a1x1+a2x12+⋯+anx1n=y1,⋮P(xn)=yn⇒a0+a1xn+a2xn2+⋯+anxnn=yn.
(2)写成矩阵形式:
[ 1 x 0 x 0 2 ⋯ x 0 n 1 x 1 x 1 2 ⋯ x 1 n ⋮ ⋮ ⋮ ⋱ ⋮ 1 x n x n 2 ⋯ x n n ] [ a 0 a 1 a 2 ⋮ a n ] = [ y 0 y 1 y 2 ⋮ y n ] . \begin{bmatrix} 1 & x_0 & x_0^2 & \cdots & x_0^n \\ 1 & x_1 & x_1^2 & \cdots & x_1^n \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_n & x_n^2 & \cdots & x_n^n \end{bmatrix} \begin{bmatrix} a_0 \\ a_1 \\ a_2 \\ \vdots \\ a_n \end{bmatrix}= \begin{bmatrix} y_0 \\ y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix}. 11⋮1x0x1⋮xnx02x12⋮xn2⋯⋯⋱⋯x0nx1n⋮xnn a0a1a2⋮an = y0y1y2⋮yn .
记系数矩阵为 V V V,即:
V = [ 1 x 0 x 0 2 ⋯ x 0 n 1 x 1 x 1 2 ⋯ x 1 n ⋮ ⋮ ⋮ ⋱ ⋮ 1 x n x n 2 ⋯ x n n ] . V = \begin{bmatrix} 1 & x_0 & x_0^2 & \cdots & x_0^n \\ 1 & x_1 & x_1^2 & \cdots & x_1^n \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_n & x_n^2 & \cdots & x_n^n \end{bmatrix}. V= 11⋮1x0x1⋮xnx02x12⋮xn2⋯⋯⋱⋯x0nx1n⋮xnn .
该矩阵即为我们熟知的 范德蒙德矩阵(Vandermonde Matrix)
。
- 解的结构
该线性方程组有解的充分必要条件是系数矩阵行列式
∣
V
∣
|V|
∣V∣ 不为零,即
d
e
t
(
V
)
≠
0
det(V) \neq 0
det(V)=0
范德蒙德矩阵
的行列式
表示为:
det
(
V
)
=
∏
0
≤
i
<
j
≤
n
(
x
j
−
x
i
)
,
\det(V) = \prod_{0 \leq i < j \leq n} (x_j - x_i),
det(V)=0≤i<j≤n∏(xj−xi),
即有:
- 若对任意两个 x i x_i xi互不相同,则 d e t ( V ) ≠ 0 det(V) \neq 0 det(V)=0,方程组有唯一解。
显然,插值点之间互不相同,相互独立⇒该方程组有唯一解(得证)。
希望能够帮到迷途之中的你,知识有限,如有学术错误请及时指正,感谢大家的阅读
(^^)/▽ ▽\(^^)