文章目录
插值与拟合
插值概念与基础理论
插值问题的提法
给定函数
f
(
x
)
f(x)
f(x) 在区间
[
a
,
b
]
[a,b]
[a,b] 上的
n
+
1
n+1
n+1 个函数值:
x
x
0
x
1
⋯
x
n
f
(
x
)
f
(
x
0
)
f
(
x
1
)
⋯
f
(
x
n
)
\begin{array}{c|ccccc}x & x_0 & x_1 & \cdots & x_n\\ \hline f(x) & f(x_0) & f(x_1) & \cdots & f(x_n)\end{array}
xf(x)x0f(x0)x1f(x1)⋯⋯xnf(xn)
x
0
,
x
1
,
⋯
,
x
n
x_0,x_1,\cdots,x_n
x0,x1,⋯,xn 互不相同。
Φ
\Phi
Φ 为给定的某一个函数类。若
Φ
\Phi
Φ 上有函数
φ
(
x
)
\varphi(x)
φ(x),满足
φ
(
x
i
)
=
f
(
x
i
)
,
i
=
0
,
1
,
2
,
⋯
,
n
\varphi(x_i)=f(x_i),i=0,1,2,\cdots,n
φ(xi)=f(xi),i=0,1,2,⋯,n
则称
φ
(
x
)
\varphi(x)
φ(x) 为
f
(
x
)
f(x)
f(x) 关于结点
x
0
,
x
1
,
⋯
,
x
n
x_0,x_1,\cdots,x_n
x0,x1,⋯,xn 在
Φ
\Phi
Φ 上的插值函数,
x
0
,
x
1
,
⋯
,
x
n
x_0,x_1,\cdots,x_n
x0,x1,⋯,xn 称为插值结点,
[
a
,
b
]
[a,b]
[a,b] 称为插值区间,
f
(
x
)
f(x)
f(x) 称为被插函数。
根据插值定义,插值函数实际上是一条经过平面上点 ( x i , f ( x i ) ) i = 0 , 1 , ⋯ , n (x_i,f(x_i))_{i=0,1,\cdots,n} (xi,f(xi))i=0,1,⋯,n 的曲线,这条平面曲线函数,就可以作为 f ( x ) f(x) f(x) 的逼近函数。
插值函数的存在唯一性:插值函数类 Φ \Phi Φ 为一个函数空间,若插值结点数为 n + 1 n+1 n+1,实际上给出了 n + 1 n+1 n+1 个限制条件,为了保证插值函数的存在唯一性,给出的插值函数空间应是 n + 1 n+1 n+1 维的,即 d i m Φ = n + 1 dim\Phi=n+1 dimΦ=n+1。
任取
Φ
\Phi
Φ 上
n
+
1
n+1
n+1 个线性无关函数
φ
0
(
x
)
,
φ
1
(
x
)
,
⋯
,
φ
n
(
x
)
\varphi_0(x),\varphi_1(x),\cdots,\varphi_n(x)
φ0(x),φ1(x),⋯,φn(x),它们可作为
Φ
\Phi
Φ 的一组基,记为:
Φ
=
s
p
a
n
{
φ
0
(
x
)
,
φ
1
(
x
)
,
⋯
,
φ
n
(
x
)
}
\Phi=span\{\varphi_0(x),\varphi_1(x),\cdots,\varphi_n(x)\}
Φ=span{φ0(x),φ1(x),⋯,φn(x)}
于是,任取
φ
(
x
)
∈
Φ
\varphi(x)\in\Phi
φ(x)∈Φ,则
φ
(
x
)
\varphi(x)
φ(x) 可唯一地表为:
φ
(
x
)
=
a
0
φ
0
(
x
)
+
a
1
φ
1
(
x
)
+
⋯
+
a
n
φ
n
(
x
)
\varphi(x)=a_0\varphi_0(x)+a_1\varphi_1(x)+\cdots+a_n\varphi_n(x)
φ(x)=a0φ0(x)+a1φ1(x)+⋯+anφn(x)
这里
(
a
0
,
a
1
,
⋯
,
a
n
)
(a_0,a_1,\cdots,a_n)
(a0,a1,⋯,an) 称之为
φ
(
x
)
\varphi(x)
φ(x) 在基
{
φ
i
(
x
)
}
i
=
1
n
\{\varphi_i(x)\}^n_{i=1}
{φi(x)}i=1n 下的坐标。
(*)定理: { x i } i = 0 n \{x_i\}^n_{i=0} {xi}i=0n 为 [ a , b ] [a,b] [a,b] 上 n + 1 n+1 n+1 个互异点, Φ = s p a n { φ 0 ( x ) , φ 1 ( x ) , ⋯ , φ n ( x ) } \Phi=span\{\varphi_0(x),\varphi_1(x),\cdots,\varphi_n(x)\} Φ=span{φ0(x),φ1(x),⋯,φn(x)} 为 n + 1 n+1 n+1 维函数空间,定义在 [ a , b ] [a,b] [a,b] 上的函数 f ( x ) f(x) f(x) 关于结点 { x i } i = 0 n \{x_i\}^n_{i=0} {xi}i=0n 在 Φ \Phi Φ 上的插值函数存在且唯一的充要条件为行列式:
∣ φ 0 ( x 0 ) φ 1 ( x 0 ) ⋯ φ n ( x 0 ) φ 0 ( x 1 ) φ 1 ( x 1 ) ⋯ φ n ( x 1 ) ⋯ ⋯ φ 0 ( x n − 1 ) φ 1 ( x n − 1 ) ⋯ φ n ( x n − 1 ) φ 0 ( x n ) φ 1 ( x n ) ⋯ φ n ( x n ) ∣ ≠ 0 \left|\begin{matrix}\varphi_0(x_0) & \varphi_1(x_0) & \cdots & \varphi_n(x_0)\\\varphi_0(x_1) & \varphi_1(x_1) & \cdots & \varphi_n(x_1)\\&\cdots&\cdots\\\varphi_0(x_{n-1}) & \varphi_1(x_{n-1}) & \cdots & \varphi_n(x_{n-1})\\\varphi_0(x_n) & \varphi_1(x_n) & \cdots & \varphi_n(x_n)\end{matrix}\right|\neq0 ∣∣∣∣∣∣∣∣∣∣φ0(x0)φ0(x1)φ0(xn−1)φ0(xn)φ1(x0)φ1(x1)⋯φ1(xn−1)φ1(xn)⋯⋯⋯⋯⋯φn(x0)φn(x1)φn(xn−1)φn(xn)∣∣∣∣∣∣∣∣∣∣=0
插值多项式的存在唯一性
记 P n = { a 0 + a 1 x + ⋯ + a n x n ∣ a i ∈ R } P_n=\{a_0+a_1x+\cdots+a_nx^n|a_i\in R\} Pn={a0+a1x+⋯+anxn∣ai∈R},则 P n P_n Pn 为一个 n + 1 n+1 n+1 维的线性空间( n n n 次多项式空间)。
若 { x i } i = 0 n \{x_i\}^n_{i=0} {xi}i=0n 为 [ a , b ] [a,b] [a,b] 上互异点, f ( x ) f(x) f(x) 为定义在 [ a , b ] [a,b] [a,b] 上的函数,若有 P n ( x ) ∈ P n P_n(x)\in P_n Pn(x)∈Pn,满足 P n ( x i ) = f ( x i ) , i = 0 , 1 , ⋯ , n P_n(x_i)=f(x_i),i=0,1,\cdots,n Pn(xi)=f(xi),i=0,1,⋯,n,则称 P n ( x ) P_n(x) Pn(x) 为 f ( x ) f(x) f(x) 关于结点 { x i } i = 0 n \{x_i\}^n_{i=0} {xi}i=0n 的 n n n 次插值多项式。
定理1: f ( x ) f(x) f(x) 关于 n + 1 n+1 n+1 个互异结点 { x i } i = 0 n \{x_i\}^n_{i=0} {xi}i=0n 的 n n n 次插值多项式存在且唯一。
证明:设插值多项式: P n ( x ) = a 0 + a 1 x + ⋯ + a n x n P_n(x)=a_0+a_1x+\cdots+a_nx^n Pn(x)=a0+a1x+⋯+anxn,满足 a 0 + a 1 x i + ⋯ + a n x i n = f ( x i ) , i = 0 , 1 , ⋯ , n a_0+a_1x_i+\cdots+a_nx_i^n=f(x_i),i=0,1,\cdots,n a0+a1xi+⋯+anxin=f(xi),i=0,1,⋯,n,而
D = ∣ 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 ∣ = ∏ n ≥ i > j ≥ 0 ( x i − x j ) ≠ 0 D=\left|\begin{matrix}1&x_0&x_0^2&\cdots&x_0^n\\1&x_1&x_1^2&\cdots&x_1^n\\\vdots&\vdots&\vdots&&\vdots\\1&x_n&x_n^2&\cdots&x_n^n\end{matrix}\right|=\prod_{n\geq i>j\geq0}(x_i-x_j)\neq0 D=∣∣∣∣∣∣∣∣∣11⋮1x0x1⋮xnx02x12⋮xn2⋯⋯⋯x0nx1n⋮xnn∣∣∣∣∣∣∣∣∣=n≥i>j≥0∏(xi−xj)=0
由克莱姆法则得 a 0 , a 1 , ⋯ , a n a_0,a_1,\cdots,a_n a0,a1,⋯,an 存在唯一,即 P n P_n Pn 上存在且唯一的有 P n ( x ) P_n(x) Pn(x),满足 P n ( x i ) = f ( x i ) , i = 0 , 1 , ⋯ , n P_n(x_i)=f(x_i),i=0,1,\cdots,n Pn(xi)=f(xi),i=0,1,⋯,n。同时, n n n 次插值多项式 P ( x ) P(x) P(x) 可表示为 P n ( x ) = a 0 + a 1 x + ⋯ + a n x n P_n(x)=a_0+a_1x+\cdots+a_nx^n Pn(x)=a0+a1x+⋯+anxn,其中 a i = D i D , i = 0 , 1 , 2 , ⋯ , n a_i=\frac{D_i}{D},i=0,1,2,\cdots,n ai=DDi,i=0,1,2,⋯,n。
D i = ∣ 1 x 0 ⋯ x 0 i − 1 f ( x 0 ) x 0 i + 1 ⋯ x 0 n 1 x 1 ⋯ x 1 i − 1 f ( x 1 ) x 1 i + 1 ⋯ x 1 n ⋯ ⋯ 1 x n ⋯ x n i − 1 f ( x n ) x n i + 1 ⋯ x n n ∣ D_i=\left|\begin{matrix}1&x_0&\cdots&x_0^{i-1}&f(x_0)&x_0^{i+1}&\cdots&x_0^n\\1&x_1&\cdots&x_1^{i-1}&f(x_1)&x_1^{i+1}&\cdots&x_1^n\\&&&\cdots&\cdots\\1&x_n&\cdots&x_n^{i-1}&f(x_n)&x_n^{i+1}&\cdots&x_n^n\end{matrix}\right| Di=∣∣∣∣∣∣∣∣111x0x1xn⋯⋯⋯x0i−1x1i−1⋯xni−1f(x0)f(x1)⋯f(xn)x0i+1x1i+1xni+1⋯⋯⋯x0nx1nxnn∣∣∣∣∣∣∣∣
插值余项
R n ( x ) = f ( x ) − P n ( x ) R_n(x)=f(x)-P_n(x) Rn(x)=f(x)−Pn(x) 称为插值余项(或称误差)。
定理2:若 f ∈ C n + 1 [ a , b ] f\in C^{n+1}[a,b] f∈Cn+1[a,b],互异点 { x i } i = 0 n ⊂ [ a , b ] \{x_i\}^n_{i=0}\subset[a,b] {xi}i=0n⊂[a,b],则 f ( x ) f(x) f(x) 以 { x i } i = 0 n \{x_i\}^n_{i=0} {xi}i=0n 为插值结点的 n n n 次插值多项式余项:
R n ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n ) 其 中 : m i n { x 0 , x 1 , ⋯ , x n , x } ≤ ξ = ξ ( x ) ≤ m a x { x 0 , x 1 , ⋯ , x n , x } R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)(x-x_1)\cdots(x-x_n)\\其中:min\{x_0,x_1,\cdots,x_n,x\}\leq\xi=\xi(x)\leq max\{x_0,x_1,\cdots,x_n,x\} Rn(x)=(n+1)!f(n+1)(ξ)(x−x0)(x−x1)⋯(x−xn)其中:min{x0,x1,⋯,xn,x}≤ξ=ξ(x)≤max{x0,x1,⋯,xn,x}
推论: 若 f ( x ) ∈ C ( n + 1 ) [ a , b ] f(x)\in C^{(n+1)}[a,b] f(x)∈C(n+1)[a,b],且 ∣ f ( n + 1 ) ( x ) ∣ ≤ M n + 1 ( a ≤ x ≤ b ) |f^{(n+1)}(x)|\leq M_{n+1}(a\leq x\leq b) ∣f(n+1)(x)∣≤Mn+1(a≤x≤b),则 f ( x ) f(x) f(x) 以 { x i } i = 0 n \{x_i\}^n_{i=0} {xi}i=0n 为插值结点的 n n n 次插值多项式余项
∣ R n ( x ) ∣ ≤ M n + 1 ( n + 1 ) ! ∣ ω n + 1 ( x ) ∣ |R_n(x)|\leq\frac{M_{n+1}}{(n+1)!}|\omega_{n+1}(x)| ∣Rn(x)∣≤(n+1)!Mn+1∣ωn+1(x)∣
其中: ω n + 1 ( x ) = ∏ i = 0 n ( x − x i ) \omega_{n+1}(x)=\prod^n_{i=0}(x-x_i) ωn+1(x)=∏i=0n(x−xi)
注: 若插值点 x x x 位于插值区间 [ m i n 1 ≤ i ≤ n x i , m a x 1 ≤ i ≤ n x i ] [min_{1\leq i\leq n}x_i,max_{1\leq i\leq n}x_i] [min1≤i≤nxi,max1≤i≤nxi] 内,则该插值过程称为内插,否则称为外插。一般情况下,内插效果要比外插好一点,所以,插值结点尽可能选取在插值区间内。
插值多项式的求法
拉格朗日(Lagrange)型插值多项式
对于给定的
n
+
1
n+1
n+1 个互异结点
{
x
i
}
i
=
0
n
\{x_i\}^n_{i=0}
{xi}i=0n,如果能找到
P
n
P_n
Pn 上
n
+
1
n+1
n+1 个多项式
{
l
i
(
x
)
}
i
=
0
n
\{l_i(x)\}^n_{i=0}
{li(x)}i=0n,满足
l
i
(
x
j
)
=
δ
i
j
=
{
1
,
i
=
j
0
,
i
≠
j
,
i
,
j
=
0
,
1
,
⋯
,
n
l_i(x_j)=\delta_{ij}=\begin{cases}1,i=j\\0,i\neq j\end{cases},i,j=0,1,\cdots,n
li(xj)=δij={1,i=j0,i=j,i,j=0,1,⋯,n
那么
L
n
(
x
)
=
∑
i
=
0
n
l
i
(
x
)
f
(
x
i
)
L_n(x)=\sum^n_{i=0}l_i(x)f(x_i)
Ln(x)=∑i=0nli(x)f(xi) 就是
f
(
x
)
f(x)
f(x) 关于结点
{
x
i
}
i
=
0
n
\{x_i\}^n_{i=0}
{xi}i=0n 的
n
n
n 次插值多项式。其中,
{
l
i
(
x
)
}
i
=
0
n
⊂
P
n
\{l_i(x)\}^n_{i=0}\subset P_n
{li(x)}i=0n⊂Pn,有
∑
i
=
0
n
l
i
(
x
)
f
(
x
i
)
∈
P
n
\sum^n_{i=0}l_i(x)f(x_i)\in P_n
∑i=0nli(x)f(xi)∈Pn,且有
L
n
(
x
k
)
=
∑
i
=
0
n
l
i
(
x
k
)
f
(
x
i
)
=
f
(
x
k
)
,
k
=
0
,
1
,
⋯
,
n
L_n(x_k)=\sum^n_{i=0}l_i(x_k)f(x_i)=f(x_k),k=0,1,\cdots,n
Ln(xk)=i=0∑nli(xk)f(xi)=f(xk),k=0,1,⋯,n
l
i
(
x
)
l_i(x)
li(x) 的构造:
l
i
(
x
j
)
=
0
(
j
≠
i
)
l_i(x_j)=0(j\neq i)
li(xj)=0(j=i):
l
i
(
x
)
=
∏
j
=
0
,
j
≠
i
n
x
−
x
j
x
i
−
x
j
=
(
x
−
x
0
)
⋯
(
x
−
x
i
−
1
)
(
x
−
x
i
+
1
)
⋯
(
x
−
x
n
)
(
x
i
−
x
0
)
⋯
(
x
i
−
x
i
−
1
)
(
x
i
−
x
i
+
1
)
⋯
(
x
i
−
x
n
)
l_i(x)=\prod^n_{j=0,j\neq i}\frac{x-x_j}{x_i-x_j}=\frac{(x-x_0)\cdots(x-x_{i-1})(x-x_{i+1})\cdots(x-x_n)}{(x_i-x_0)\cdots(x_i-x_{i-1})(x_i-x_{i+1})\cdots(x_i-x_n)}
li(x)=j=0,j=i∏nxi−xjx−xj=(xi−x0)⋯(xi−xi−1)(xi−xi+1)⋯(xi−xn)(x−x0)⋯(x−xi−1)(x−xi+1)⋯(x−xn)
{
l
i
(
x
)
}
i
=
0
n
\{l_i(x)\}^n_{i=0}
{li(x)}i=0n 是一组线性无关的函数,可作为
P
n
P_n
Pn 的一组基,称为关于结点
{
x
i
}
i
=
0
n
\{x_i\}^n_{i=0}
{xi}i=0n的Lagrange基,其插值多项式称为Lagrange型插值多项式,记为
L
n
(
x
,
f
)
L_n(x,f)
Ln(x,f) 或
L
n
(
x
)
L_n(x)
Ln(x),即
L
n
(
x
)
=
∑
i
=
0
n
l
i
(
x
)
f
(
x
i
)
=
∑
i
=
0
n
(
∏
j
=
0
,
j
≠
i
n
x
−
x
j
x
i
−
x
j
)
f
(
x
i
)
L_n(x)=\sum^n_{i=0}l_i(x)f(x_i)=\sum^n_{i=0}(\prod^n_{j=0,j\neq i}\frac{x-x_j}{x_i-x_j})f(x_i)
Ln(x)=i=0∑nli(x)f(xi)=i=0∑n(j=0,j=i∏nxi−xjx−xj)f(xi)
记
ω
n
+
1
(
x
)
=
(
x
−
x
0
)
(
x
−
x
1
)
⋯
(
x
−
x
n
)
,
ω
n
+
1
′
(
x
i
)
=
∏
j
=
0
,
j
≠
i
n
(
x
i
−
x
j
)
\omega_{n+1}(x)=(x-x_0)(x-x_1)\cdots(x-x_n),\omega'_{n+1}(x_i)=\prod^n_{j=0,j\neq i}(x_i-x_j)
ωn+1(x)=(x−x0)(x−x1)⋯(x−xn),ωn+1′(xi)=∏j=0,j=in(xi−xj),得
l
i
(
x
)
=
ω
n
+
1
(
x
)
(
x
−
x
i
)
ω
n
+
1
′
(
x
i
)
L
n
(
x
)
=
∑
i
=
0
n
ω
n
+
1
(
x
)
(
x
−
x
i
)
ω
n
+
1
′
(
x
i
)
f
(
x
i
)
l_i(x)=\frac{\omega_{n+1}(x)}{(x-x_i)\omega'_{n+1}(x_i)}\\L_n(x)=\sum^n_{i=0}\frac{\omega_{n+1}(x)}{(x-x_i)\omega'_{n+1}(x_i)}f(x_i)
li(x)=(x−xi)ωn+1′(xi)ωn+1(x)Ln(x)=i=0∑n(x−xi)ωn+1′(xi)ωn+1(x)f(xi)
当
n
=
1
n=1
n=1 时,可得
f
(
x
)
f(x)
f(x) 关于
x
0
,
x
1
x_0,x_1
x0,x1 的线性插值多项式的Lagrange型式:
L
1
(
x
)
=
x
−
x
1
x
0
−
x
1
f
(
x
0
)
+
x
−
x
0
x
1
−
x
0
f
(
x
1
)
L_1(x)=\frac{x-x_1}{x_0-x_1}f(x_0)+\frac{x-x_0}{x_1-x_0}f(x_1)
L1(x)=x0−x1x−x1f(x0)+x1−x0x−x0f(x1)
当
n
=
2
n=2
n=2 时,可得
f
(
x
)
f(x)
f(x) 关于
x
0
,
x
1
,
x
2
x_0,x_1,x_2
x0,x1,x2 的线性插值多项式的Lagrange型式:
L
2
(
x
)
=
l
0
(
x
)
f
(
x
0
)
+
l
1
(
x
)
f
(
x
1
)
+
l
2
f
(
x
2
)
=
(
x
−
x
1
)
(
x
−
x
2
)
(
x
0
−
x
1
)
(
x
0
−
x
2
)
f
(
x
0
)
+
(
x
−
x
0
)
(
x
−
x
2
)
(
x
1
−
x
0
)
(
x
1
−
x
2
)
f
(
x
1
)
+
(
x
−
x
0
)
(
x
−
x
1
)
(
x
2
−
x
0
)
(
x
2
−
x
1
)
f
(
x
2
)
L_2(x)=l_0(x)f(x_0)+l_1(x)f(x_1)+l_2f(x_2)\\=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}f(x_0)+\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}f(x_1)+\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}f(x_2)
L2(x)=l0(x)f(x0)+l1(x)f(x1)+l2f(x2)=(x0−x1)(x0−x2)(x−x1)(x−x2)f(x0)+(x1−x0)(x1−x2)(x−x0)(x−x2)f(x1)+(x2−x0)(x2−x1)(x−x0)(x−x1)f(x2)
三点插值又称抛物插值。
误差的事后估计方法: 定理 2 给出了当被插函数充分光滑时的插值误差表达式,推论给出了误差的界。但在实际计算中,涉及到高价导数,很难给出较精确的估计,所以常用误差的事后估计。
记
L
n
(
x
)
L_n(x)
Ln(x) 为
f
(
x
)
f(x)
f(x) 以
x
0
,
x
1
,
⋯
,
x
n
x_0,x_1,\cdots,x_n
x0,x1,⋯,xn 为结点的插值多项式,对确定的
x
x
x,我们需要对误差
f
(
x
)
−
L
n
(
x
)
f(x)-L_n(x)
f(x)−Ln(x) 做出估计。为此,另取一个结点
x
n
+
1
x_{n+1}
xn+1,记
L
n
(
1
)
(
x
)
L^{(1)}_n(x)
Ln(1)(x) 为
f
(
x
)
f(x)
f(x) 以
x
1
,
x
2
,
⋯
,
x
n
,
x
n
+
1
x_1,x_2,\cdots,x_n,x_{n+1}
x1,x2,⋯,xn,xn+1 为结点的插值多项式,由定理2,可得到:
f
(
x
)
−
L
n
(
x
)
=
f
(
n
+
1
)
(
ξ
)
(
n
+
1
)
!
(
x
−
x
0
)
(
x
−
x
1
)
⋯
(
x
−
x
n
)
f
(
x
)
−
L
n
(
1
)
(
x
)
=
f
(
n
+
1
)
(
ξ
2
)
(
n
+
1
)
!
(
x
−
x
1
)
(
x
−
x
2
)
⋯
(
x
−
x
n
)
(
x
−
x
n
+
1
)
f(x)-L_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)(x-x_1)\cdots(x-x_n)\\f(x)-L^{(1)}_n(x)=\frac{f^{(n+1)}(\xi_2)}{(n+1)!}(x-x_1)(x-x_2)\cdots(x-x_n)(x-x_{n+1})
f(x)−Ln(x)=(n+1)!f(n+1)(ξ)(x−x0)(x−x1)⋯(x−xn)f(x)−Ln(1)(x)=(n+1)!f(n+1)(ξ2)(x−x1)(x−x2)⋯(x−xn)(x−xn+1)
若
f
(
n
+
1
)
(
x
)
f^{(n+1)}(x)
f(n+1)(x) 在插值区间上变化不大时,则:
f
(
x
)
−
L
n
(
x
)
f
(
x
)
−
L
n
(
1
)
(
x
)
≈
x
−
x
0
x
−
x
n
+
1
(
x
−
x
n
+
1
)
(
f
(
x
)
−
L
n
(
x
)
)
≈
(
x
−
x
0
)
(
f
(
x
)
−
L
n
(
1
)
(
x
)
)
f
(
x
)
≈
x
−
x
n
+
1
x
0
−
x
n
+
1
L
n
(
x
)
+
x
−
x
0
x
n
+
1
−
x
0
L
n
(
1
)
(
x
)
即
:
f
(
x
)
−
L
n
(
x
)
≈
x
−
x
0
x
0
−
x
n
+
1
(
L
n
(
x
)
−
L
n
(
1
)
(
x
)
)
\frac{f(x)-L_n(x)}{f(x)-L^{(1)}_n(x)}\approx\frac{x-x_0}{x-x_{n+1}}\\(x-x_{n+1})(f(x)-L_n(x))\approx(x-x_0)(f(x)-L^{(1)}_n(x))\\f(x)\approx\frac{x-x_{n+1}}{x_0-x_{n+1}}L_n(x)+\frac{x-x_0}{x_{n+1}-x_0}L^{(1)}_n(x)\\即:f(x)-L_n(x)\approx\frac{x-x_0}{x_0-x_{n+1}}(L_n(x)-L^{(1)}_n(x))
f(x)−Ln(1)(x)f(x)−Ln(x)≈x−xn+1x−x0(x−xn+1)(f(x)−Ln(x))≈(x−x0)(f(x)−Ln(1)(x))f(x)≈x0−xn+1x−xn+1Ln(x)+xn+1−x0x−x0Ln(1)(x)即:f(x)−Ln(x)≈x0−xn+1x−x0(Ln(x)−Ln(1)(x))
上式较好地给出了插值误差的实际估计。
差商与牛顿基本插值多项式
对于给定的 n + 1 n+1 n+1 个结点 x 0 , x 1 , ⋯ , x n x_0,x_1,\cdots,x_n x0,x1,⋯,xn,考虑 n n n 次多项式: N n ( x ) = a 0 + a 1 ( x − x 0 ) + a 2 ( x − x 0 ) ( x − x 1 ) + ⋯ + a n ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n − 1 ) N_n(x)=a_0+a_1(x-x_0)+a_2(x-x_0)(x-x_1)+\cdots+a_n(x-x_0)(x-x_1)\cdots(x-x_{n-1}) Nn(x)=a0+a1(x−x0)+a2(x−x0)(x−x1)+⋯+an(x−x0)(x−x1)⋯(x−xn−1) 满足插值条件: N n ( x i ) = f ( x i ) = y i , i = 0 , 1 , ⋯ , n N_n(x_i)=f(x_i)=y_i,i=0,1,\cdots,n Nn(xi)=f(xi)=yi,i=0,1,⋯,n,称 N n ( x ) N_n(x) Nn(x) 是以 x 0 , x 1 , ⋯ , x n x_0,x_1,\cdots,x_n x0,x1,⋯,xn 为结点的 n n n 次牛顿型插值多项式。
定义1:设函数 f ( x ) f(x) f(x) 在点 x 0 , x 1 , x 2 , ⋯ x_0,x_1,x_2,\cdots x0,x1,x2,⋯ 上的值依次为 f ( x 0 ) , f ( x 1 ) , f ( x 2 ) , ⋯ f(x_0),f(x_1),f(x_2),\cdots f(x0),f(x1),f(x2),⋯,则称
f [ x i , x j ] = f ( x j ) − f ( x i ) x j − x i f[x_i,x_j]=\frac{f(x_j)-f(x_i)}{x_j-x_i} f[xi,xj]=xj−xif(xj)−f(xi)
为 f ( x ) f(x) f(x) 在 x i , x i x_i,x_i xi,xi 处的一阶差商。称
f [ x i , x j , x k ] = f [ x j , x k ] − f [ x i , x j ] x k − x i f[x_i,x_j,x_k]=\frac{f[x_j,x_k]-f[x_i,x_j]}{x_k-x_i} f[xi,xj,xk]=xk−xif[xj,xk]−f[xi,xj]
为 f ( x ) f(x) f(x) 在 x i , x j , x k x_i,x_j,x_k xi,xj,xk 处的二阶差商。一般地,称 m − 1 m-1 m−1 阶差商的差商:
f [ x i 0 , x i 1 , ⋯ , x i m ] = f [ x i 1 , ⋯ , x i m ] − f [ x i 0 , ⋯ , x i m − 1 ] x i m − x i 0 f[x_{i0},x_{i1},\cdots,x_{im}]=\frac{f[x_{i1},\cdots,x_{im}]-f[x_{i0},\cdots,x_{im-1}]}{x_{im}-x_{i0}} f[xi0,xi1,⋯,xim]=xim−xi0f[xi1,⋯,xim]−f[xi0,⋯,xim−1]
为 f ( x ) f(x) f(x) 在 x i 0 , x i 1 , ⋯ , x i m x_{i0},x_{i1},\cdots,x_{im} xi0,xi1,⋯,xim 处的 m m m 阶差商。特别的,规定零阶差商为: f [ x i ] = f ( x i ) f[x_i]=f(x_i) f[xi]=f(xi)。
通过归纳法,
m
m
m 阶差商可表示成
f
(
x
0
)
,
f
(
x
1
)
,
⋯
,
f
(
x
m
)
f(x_0),f(x_1),\cdots,f(x_m)
f(x0),f(x1),⋯,f(xm) 的线性组合:
f
[
x
0
,
x
1
,
⋯
,
x
m
]
=
∑
j
=
0
m
f
(
x
j
)
(
x
j
−
x
0
)
⋯
(
x
j
−
x
j
−
1
)
(
x
j
−
x
j
+
1
)
⋯
(
x
j
−
x
m
)
f[x_0,x_1,\cdots,x_m]=\sum_{j=0}^m\frac{f(x_j)}{(x_j-x_0)\cdots(x_j-x_{j-1})(x_j-x_{j+1})\cdots(x_j-x_m)}
f[x0,x1,⋯,xm]=j=0∑m(xj−x0)⋯(xj−xj−1)(xj−xj+1)⋯(xj−xm)f(xj)
差商具有对称性:任意调换结点的次序,不影响差商的值。 例如:
f
[
x
0
,
x
1
,
x
2
]
=
f
[
x
1
,
x
2
,
x
0
]
=
f
[
x
1
,
x
0
,
x
2
]
f[x_0,x_1,x_2]=f[x_1,x_2,x_0]=f[x_1,x_0,x_2]
f[x0,x1,x2]=f[x1,x2,x0]=f[x1,x0,x2]
由插值条件
N
n
(
x
i
)
=
f
(
x
i
)
N_n(x_i)=f(x_i)
Nn(xi)=f(xi),可得
N
n
(
x
0
)
=
a
0
=
f
(
x
0
)
→
a
0
=
f
(
x
0
)
N
n
(
x
1
)
=
a
0
+
a
1
(
x
1
−
x
0
)
=
f
(
x
1
)
→
a
1
=
f
(
x
1
)
−
f
(
x
0
)
x
1
−
x
0
=
f
[
x
0
,
x
1
]
N
n
(
x
2
)
=
a
0
+
a
1
(
x
2
−
x
0
)
+
a
2
(
x
2
−
x
0
)
(
x
2
−
x
1
)
=
f
(
x
2
)
→
a
2
=
f
[
x
0
,
x
2
]
−
f
[
x
0
,
x
1
]
x
2
−
x
0
=
f
[
x
0
,
x
1
,
x
2
]
N_n(x_0)=a_0=f(x_0)\rightarrow a_0=f(x_0)\\N_n(x_1)=a_0+a_1(x_1-x_0)=f(x_1)\rightarrow a_1=\frac{f(x_1)-f(x_0)}{x_1-x_0}=f[x_0,x_1]\\N_n(x_2)=a_0+a_1(x_2-x_0)+a_2(x_2-x_0)(x_2-x_1)=f(x_2)\rightarrow a_2=\frac{f[x_0,x_2]-f[x_0,x_1]}{x_2-x_0}=f[x_0,x_1,x_2]
Nn(x0)=a0=f(x0)→a0=f(x0)Nn(x1)=a0+a1(x1−x0)=f(x1)→a1=x1−x0f(x1)−f(x0)=f[x0,x1]Nn(x2)=a0+a1(x2−x0)+a2(x2−x0)(x2−x1)=f(x2)→a2=x2−x0f[x0,x2]−f[x0,x1]=f[x0,x1,x2]
由归纳法可得:
a
k
=
f
[
x
0
,
x
1
,
⋯
,
x
k
]
(
k
=
0
,
1
,
⋯
,
n
)
a_k=f[x_0,x_1,\cdots,x_k](k=0,1,\cdots,n)
ak=f[x0,x1,⋯,xk](k=0,1,⋯,n)
以
x
0
,
x
1
,
⋯
,
x
n
x_0,x_1,\cdots,x_n
x0,x1,⋯,xn 为结点的
n
n
n 次牛顿型插值多项式:
N
n
(
x
)
=
f
(
x
0
)
+
f
[
x
0
,
x
1
]
(
x
−
x
0
)
+
f
[
x
0
,
x
1
,
x
2
]
(
x
−
x
0
)
(
x
−
x
1
)
+
⋯
+
f
[
x
0
,
x
1
,
⋯
,
x
n
]
(
x
−
x
0
)
(
x
−
x
1
)
⋯
(
x
−
x
n
−
1
)
N_n(x)=f(x_0)+f[x_0,x_1](x-x_0)+f[x_0,x_1,x_2](x-x_0)(x-x_1)+\cdots+f[x_0,x_1,\cdots,x_n](x-x_0)(x-x_1)\cdots(x-x_{n-1})
Nn(x)=f(x0)+f[x0,x1](x−x0)+f[x0,x1,x2](x−x0)(x−x1)+⋯+f[x0,x1,⋯,xn](x−x0)(x−x1)⋯(x−xn−1)
当新增加一个结点
x
n
+
1
x_{n+1}
xn+1 时:
N
n
+
1
(
x
)
=
N
n
(
x
)
+
f
[
x
0
,
x
1
,
⋯
,
x
n
,
x
n
+
1
]
(
x
−
x
0
)
(
x
−
x
1
)
⋯
(
x
−
x
n
−
1
)
(
x
−
x
n
)
N_{n+1}(x)=N_n(x)+f[x_0,x_1,\cdots,x_n,x_{n+1}](x-x_0)(x-x_1)\cdots(x-x_{n-1})(x-x_n)
Nn+1(x)=Nn(x)+f[x0,x1,⋯,xn,xn+1](x−x0)(x−x1)⋯(x−xn−1)(x−xn)
插值多项式的误差(差商形式)表示:
f
(
x
)
≡
f
(
x
0
)
+
f
[
x
0
,
x
1
]
(
x
−
x
0
)
+
⋯
+
f
[
x
0
,
x
1
,
⋯
,
x
n
]
(
x
−
x
0
)
⋯
(
x
−
x
n
−
1
)
+
f
[
x
0
,
x
1
,
⋯
,
x
n
,
x
]
(
x
−
x
0
)
⋯
(
x
−
x
n
)
=
N
n
(
x
)
+
f
[
x
0
,
x
1
,
⋯
,
x
n
,
x
]
(
x
−
x
0
)
⋯
(
x
−
x
n
)
f(x)\equiv f(x_0)+f[x_0,x_1](x-x_0)+\cdots+f[x_0,x_1,\cdots,x_n](x-x_0)\cdots(x-x_{n-1})+f[x_0,x_1,\cdots,x_n,x](x-x_0)\cdots(x-x_n)\\=N_n(x)+f[x_0,x_1,\cdots,x_n,x](x-x_0)\cdots(x-x_n)
f(x)≡f(x0)+f[x0,x1](x−x0)+⋯+f[x0,x1,⋯,xn](x−x0)⋯(x−xn−1)+f[x0,x1,⋯,xn,x](x−x0)⋯(x−xn)=Nn(x)+f[x0,x1,⋯,xn,x](x−x0)⋯(x−xn)
若
f
(
x
)
∈
C
n
+
1
[
a
,
b
]
f(x)\in C^{n+1}[a,b]
f(x)∈Cn+1[a,b],则有
R
n
(
x
)
=
f
(
x
)
−
N
n
(
x
)
=
f
[
x
0
,
x
1
,
⋯
,
x
n
,
x
]
(
x
−
x
0
)
⋯
(
x
−
x
n
)
f
[
x
0
,
x
1
,
⋯
,
x
n
,
x
]
=
f
(
n
+
1
)
(
ξ
)
(
n
+
1
)
!
R_n(x)=f(x)-N_n(x)=f[x_0,x_1,\cdots,x_n,x](x-x_0)\cdots(x-x_n)\\f[x_0,x_1,\cdots,x_n,x]=\frac{f^{(n+1)}(\xi)}{(n+1)!}
Rn(x)=f(x)−Nn(x)=f[x0,x1,⋯,xn,x](x−x0)⋯(x−xn)f[x0,x1,⋯,xn,x]=(n+1)!f(n+1)(ξ)
一般地,若
f
(
x
)
∈
C
n
+
1
[
a
,
b
]
f(x)\in C^{n+1}[a,b]
f(x)∈Cn+1[a,b],则存在
ξ
∈
(
a
,
b
)
\xi\in(a,b)
ξ∈(a,b),使得
f
[
x
0
,
x
1
,
⋯
,
x
n
]
=
f
(
n
)
(
ξ
)
n
!
f[x_0,x_1,\cdots,x_n]=\frac{f^{(n)}(\xi)}{n!}
f[x0,x1,⋯,xn]=n!f(n)(ξ)
差分与等距结点下的牛顿公式
设函数 f ( x ) f(x) f(x) 在等距结点 x k = x 0 + k h ( k = 0 , 1 , 2 , ⋯ ) x_k=x_0+kh(k=0,1,2,\cdots) xk=x0+kh(k=0,1,2,⋯) 上的值 f ( x k ) f(x_k) f(xk) 已知,步长 h h h 为常数。
定义2:函数 y = f ( x ) y=f(x) y=f(x) 在 x k x_k xk 处以 h h h 为步长的一阶向前差分与二阶向前差分:
Δ y k = Δ f ( x k ) = f ( x k + 1 ) − f ( x k ) Δ 2 y k = Δ 2 f ( x k ) = Δ ( Δ f ( x k ) ) = Δ f ( x k + 1 ) − Δ f ( x k ) = f ( x k + 2 ) − 2 f ( x k + 1 ) + f ( x k ) \Delta y_k=\Delta f(x_k)=f(x_{k+1})-f(x_k)\\\Delta^2y_k=\Delta^2f(x_k)=\Delta(\Delta f(x_k))=\Delta f(x_{k+1})-\Delta f(x_k)=f(x_{k+2})-2f(x_{k+1})+f(x_k) Δyk=Δf(xk)=f(xk+1)−f(xk)Δ2yk=Δ2f(xk)=Δ(Δf(xk))=Δf(xk+1)−Δf(xk)=f(xk+2)−2f(xk+1)+f(xk)
一般性, m m m 阶向前差分:
Δ m y k = Δ m f ( x k ) = Δ ( Δ m − 1 f ( x k ) ) = Δ m − 1 f ( x k + 1 ) − Δ m − 1 f ( x k ) \Delta^my_k=\Delta^mf(x_k)=\Delta(\Delta^{m-1}f(x_k))=\Delta^{m-1}f(x_{k+1})-\Delta^{m-1}f(x_k) Δmyk=Δmf(xk)=Δ(Δm−1f(xk))=Δm−1f(xk+1)−Δm−1f(xk)
定义3:函数 y = f ( x ) y=f(x) y=f(x) 在 x k x_k xk 处以 h h h 为步长的一阶向后差分与二阶向后差分:
▽ y k = ▽ f ( x k ) = f ( x k ) − f ( x k − 1 ) ▽ 2 y k = ▽ 2 f ( x k ) = ▽ ( ▽ f ( x k ) ) = ▽ f ( x k ) − ▽ f ( x k − 1 ) = f ( x k ) − 2 f ( x k − 1 ) + f ( x k − 2 ) \triangledown y_k=\triangledown f(x_k)=f(x_k)-f(x_{k-1})\\\triangledown^2y_k=\triangledown^2f(x_k)=\triangledown(\triangledown f(x_k))=\triangledown f(x_k)- \triangledown f(x_{k-1})=f(x_k)-2f(x_{k-1})+f(x_{k-2}) ▽yk=▽f(xk)=f(xk)−f(xk−1)▽2yk=▽2f(xk)=▽(▽f(xk))=▽f(xk)−▽f(xk−1)=f(xk)−2f(xk−1)+f(xk−2)
一般性, m m m 阶向后差分:
▽ m y k = ▽ m f ( x k ) = ▽ ( ▽ m − 1 f ( x k ) ) = ▽ m − 1 f ( x k ) − ▽ m − 1 f ( x k − 1 ) \triangledown^my_k=\triangledown^mf(x_k)=\triangledown(\triangledown^{m-1}f(x_k))=\triangledown^{m-1}f(x_k)-\triangledown^{m-1}f(x_{k-1}) ▽myk=▽mf(xk)=▽(▽m−1f(xk))=▽m−1f(xk)−▽m−1f(xk−1)
差商与差分关系:
f
[
x
0
,
x
1
,
⋯
,
x
m
]
=
Δ
m
f
(
x
0
)
m
!
h
m
f
[
x
n
,
x
n
−
1
,
⋯
,
x
n
−
m
]
=
▽
m
f
(
x
n
)
m
!
h
m
f[x_0,x_1,\cdots,x_m]=\frac{\Delta^mf(x_0)}{m!h^m}\\f[x_n,x_{n-1},\cdots,x_{n-m}]=\frac{\triangledown^mf(x_n)}{m!h^m}
f[x0,x1,⋯,xm]=m!hmΔmf(x0)f[xn,xn−1,⋯,xn−m]=m!hm▽mf(xn)
等距结点的Newton型多项式插值的差分形式:引入变量
t
t
t ,设
x
=
x
0
+
t
h
x=x_0+th
x=x0+th (有
x
−
x
i
=
(
t
−
i
)
h
x-x_i=(t-i)h
x−xi=(t−i)h),则等距结点的Newton插值公式:
N
n
(
x
0
+
t
h
)
=
f
(
x
0
)
+
t
Δ
f
(
x
0
)
+
t
(
t
−
1
)
2
!
Δ
2
f
(
x
0
)
+
⋯
+
t
(
t
−
1
)
⋯
(
t
−
n
+
1
)
n
!
Δ
n
f
(
x
0
)
N_n(x_0+th)=f(x_0)+t\Delta f(x_0)+\frac{t(t-1)}{2!}\Delta^2f(x_0)+\cdots+\frac{t(t-1)\cdots(t-n+1)}{n!}\Delta^nf(x_0)
Nn(x0+th)=f(x0)+tΔf(x0)+2!t(t−1)Δ2f(x0)+⋯+n!t(t−1)⋯(t−n+1)Δnf(x0)
若
f
(
x
)
∈
C
n
+
1
[
a
,
b
]
f(x)\in C^{n+1}[a,b]
f(x)∈Cn+1[a,b],则插值误差可表示为
R
n
(
x
)
=
R
n
(
x
0
+
t
h
)
=
t
(
t
−
1
)
⋯
(
t
−
n
)
(
n
+
1
)
!
h
n
+
1
f
(
n
+
1
)
(
ζ
)
,
ζ
∈
(
x
0
,
x
n
)
R_n(x)=R_n(x_0+th)=\frac{t(t-1)\cdots(t-n)}{(n+1)!}h^{n+1}f^{(n+1)}(\zeta),\zeta\in(x_0,x_n)
Rn(x)=Rn(x0+th)=(n+1)!t(t−1)⋯(t−n)hn+1f(n+1)(ζ),ζ∈(x0,xn)
(1)牛顿表初公式或牛顿向前差分公式:若
x
x
x 在
x
0
x_0
x0 附近,选取的牛顿型插值公式为
N
n
(
x
0
+
t
h
)
=
f
(
x
0
)
+
t
Δ
f
(
x
0
)
+
t
(
t
−
1
)
2
!
Δ
2
f
(
x
0
)
+
⋯
+
t
(
t
−
1
)
⋯
(
t
−
n
+
1
)
n
!
Δ
n
f
(
x
0
)
N_n(x_0+th)=f(x_0)+t\Delta f(x_0)+\frac{t(t-1)}{2!}\Delta^2f(x_0)+\cdots+\frac{t(t-1)\cdots(t-n+1)}{n!}\Delta^nf(x_0)
Nn(x0+th)=f(x0)+tΔf(x0)+2!t(t−1)Δ2f(x0)+⋯+n!t(t−1)⋯(t−n+1)Δnf(x0)
(2)牛顿表末公式或牛顿向后差分公式:若
x
x
x 在
x
n
x_n
xn 附近,选取的牛顿型插值公式为
N
n
(
x
)
=
N
n
(
x
n
+
t
h
)
=
f
(
x
n
)
+
f
[
x
n
,
x
n
−
1
]
(
x
−
x
n
)
+
f
[
x
n
,
x
n
−
1
,
x
n
−
2
]
(
x
−
x
n
)
(
x
−
x
n
−
1
)
+
f
[
x
n
,
x
n
−
1
,
⋯
,
x
0
]
(
x
−
x
n
)
(
x
−
x
n
−
1
)
⋯
(
x
−
x
1
)
=
f
(
x
n
)
+
t
▽
f
(
x
n
)
+
t
(
t
+
1
)
2
!
▽
2
f
(
x
n
)
+
⋯
+
t
(
t
+
1
)
⋯
(
t
+
n
−
1
)
n
!
▽
n
f
(
x
n
)
其
中
,
x
k
=
x
n
−
(
n
−
k
)
h
R
n
(
x
)
=
R
n
(
x
n
+
t
h
)
=
t
(
t
+
1
)
⋯
(
t
+
n
)
(
n
+
1
)
!
h
n
+
1
f
(
n
+
1
)
(
ζ
)
,
ζ
∈
(
x
0
,
x
n
)
N_n(x)=N_n(x_n+th)=f(x_n)+f[x_n,x_{n-1}](x-x_n)+f[x_n,x_{n-1},x_{n-2}](x-x_n)(x-x_{n-1})\\+f[x_n,x_{n-1},\cdots,x_0](x-x_n)(x-x_{n-1})\cdots(x-x_1)\\=f(x_n)+t\triangledown f(x_n)+\frac{t(t+1)}{2!}\triangledown^2f(x_n)+\cdots+\frac{t(t+1)\cdots(t+n-1)}{n!}\triangledown^nf(x_n)\\其中,x_k=x_n-(n-k)h\\R_n(x)=R_n(x_n+th)=\frac{t(t+1)\cdots(t+n)}{(n+1)!}h^{n+1}f^{(n+1)}(\zeta),\zeta\in(x_0,x_n)
Nn(x)=Nn(xn+th)=f(xn)+f[xn,xn−1](x−xn)+f[xn,xn−1,xn−2](x−xn)(x−xn−1)+f[xn,xn−1,⋯,x0](x−xn)(x−xn−1)⋯(x−x1)=f(xn)+t▽f(xn)+2!t(t+1)▽2f(xn)+⋯+n!t(t+1)⋯(t+n−1)▽nf(xn)其中,xk=xn−(n−k)hRn(x)=Rn(xn+th)=(n+1)!t(t+1)⋯(t+n)hn+1f(n+1)(ζ),ζ∈(x0,xn)
(3)牛顿表中插值公式:
定义4: δ y k = f ( x k + h 2 ) − f ( x k − h 2 ) = y k + 1 2 − y k − 1 2 \delta y_k=f(x_k+\frac{h}{2})-f(x_k-\frac{h}{2})=y_{k+\frac{1}{2}}-y_{k-\frac{1}{2}} δyk=f(xk+2h)−f(xk−2h)=yk+21−yk−21 称为一阶中心差分。
δ m y k = δ m − 1 y k + 1 2 − δ m − 1 y k − 1 2 \delta^my_k=\delta^{m-1}y_{k+\frac{1}{2}}-\delta^{m-1}y_{k-\frac{1}{2}} δmyk=δm−1yk+21−δm−1yk−21 称为 m m m 阶中心差分。
埃尔米特(Hermite)插值
插值在给定的结点处,不但要求插值多项式的函数值与被插函数的函数值相同,同时还要求在结点处,插值多项式的一阶直至指定阶的导数值也与被插函数的相应阶导数值相等。
设
f
(
x
)
f(x)
f(x) 为
[
a
,
b
]
[a,b]
[a,b] 上充分光滑函数,对给定的插值结点
{
x
i
}
i
=
0
n
\{x_i\}^n_{i=0}
{xi}i=0n 及相应的重数标号
{
m
i
}
i
=
0
n
\{m_i\}^n_{i=0}
{mi}i=0n,当
∑
i
=
0
n
m
i
=
N
+
1
\sum_{i=0}^nm_i=N+1
∑i=0nmi=N+1 时,若有
H
(
x
)
∈
P
n
H(x)\in P_n
H(x)∈Pn 满足:
H
(
l
)
(
x
i
)
=
f
(
l
)
(
x
i
)
,
l
=
0
,
1
,
⋯
,
m
i
−
1
,
i
=
0
,
1
,
⋯
,
n
H^{(l)}(x_i)=f^{(l)}(x_i),l=0,1,\cdots,m_i-1,i=0,1,\cdots,n
H(l)(xi)=f(l)(xi),l=0,1,⋯,mi−1,i=0,1,⋯,n
则称
H
(
x
)
H(x)
H(x) 为
f
(
x
)
f(x)
f(x) 关于结点
{
x
i
}
i
=
0
n
\{x_i\}^n_{i=0}
{xi}i=0n 及重数标号
{
m
i
}
i
=
0
n
\{m_i\}^n_{i=0}
{mi}i=0n 的埃尔米特插值多项式。
二重( m i = 2 m_i=2 mi=2): f ( x ) ∈ C 2 [ a , b ] f(x)\in C^2[a,b] f(x)∈C2[a,b],若有 H 2 n + 1 ( x i ) = f ( x i ) , H 2 n + 1 ′ ( x i ) = f ′ ( x i ) , i = 0 , 1 , ⋯ , n H_{2n+1}(x_i)=f(x_i),H'_{2n+1}(x_i)=f'(x_i),i=0,1,\cdots,n H2n+1(xi)=f(xi),H2n+1′(xi)=f′(xi),i=0,1,⋯,n,称 H 2 n + 1 ( x ) H_{2n+1}(x) H2n+1(x) 为 f ( x ) f(x) f(x) 关于结点 { x i } i = 0 n \{x_i\}^n_{i=0} {xi}i=0n 的二重埃尔米特插值多项式,其存在且唯一(由克拉默法则易得)。
基函数构造法:
H
2
n
+
1
(
x
)
=
∑
i
=
0
n
A
i
(
x
)
f
(
x
i
)
+
∑
i
=
0
n
B
i
(
x
)
f
′
(
x
i
)
H_{2n+1}(x)=\sum_{i=0}^nA_i(x)f(x_i)+\sum_{i=0}^nB_i(x)f'(x_i)
H2n+1(x)=i=0∑nAi(x)f(xi)+i=0∑nBi(x)f′(xi)
在
P
2
n
+
1
P_{2n+1}
P2n+1 上构造
2
n
+
2
2n+2
2n+2 个基函数
{
A
i
(
x
)
,
B
i
(
x
)
}
i
=
0
n
\{A_i(x),B_i(x)\}^n_{i=0}
{Ai(x),Bi(x)}i=0n,分别满足
{
A
i
(
x
j
)
=
δ
i
j
A
i
′
(
x
j
)
=
0
,
j
=
0
,
1
,
⋯
,
n
,
i
=
0
,
1
,
⋯
,
n
{
B
i
(
x
j
)
=
0
B
i
′
(
x
j
)
=
δ
i
j
,
j
=
0
,
1
,
⋯
,
n
,
i
=
0
,
1
,
⋯
,
n
\begin{cases}A_i(x_j)=\delta_{ij}\\A'_i(x_j)=0\end{cases},j=0,1,\cdots,n,i=0,1,\cdots,n\\\begin{cases}B_i(x_j)=0\\B'_i(x_j)=\delta_{ij}\end{cases},j=0,1,\cdots,n,i=0,1,\cdots,n
{Ai(xj)=δijAi′(xj)=0,j=0,1,⋯,n,i=0,1,⋯,n{Bi(xj)=0Bi′(xj)=δij,j=0,1,⋯,n,i=0,1,⋯,n
可得
x
0
,
x
1
,
⋯
,
x
i
−
1
,
x
i
+
1
,
⋯
,
x
n
x_0,x_1,\cdots,x_{i-1},x_{i+1},\cdots,x_n
x0,x1,⋯,xi−1,xi+1,⋯,xn 为
A
i
(
x
)
A_i(x)
Ai(x) 的二重零点,
A
i
(
x
)
∈
P
2
n
+
1
A_i(x)\in P_{2n+1}
Ai(x)∈P2n+1,有:
A
i
(
x
)
=
(
a
i
x
+
b
i
)
[
(
x
−
x
0
)
2
(
x
−
x
1
)
2
⋯
(
x
−
x
i
−
1
)
2
(
x
−
x
i
+
1
)
2
⋯
(
x
−
x
n
)
2
]
也
可
设
:
A
i
(
x
)
=
[
a
i
(
x
−
x
i
)
+
b
i
]
∏
j
=
0
,
j
≠
i
n
(
x
−
x
j
)
2
A_i(x)=(a_ix+b_i)[(x-x_0)^2(x-x_1)^2\cdots(x-x_{i-1})^2(x-x_{i+1})^2\cdots(x-x_n)^2]\\也可设:A_i(x)=[a_i(x-x_i)+b_i]\prod_{j=0,j\neq i}^n(x-x_j)^2
Ai(x)=(aix+bi)[(x−x0)2(x−x1)2⋯(x−xi−1)2(x−xi+1)2⋯(x−xn)2]也可设:Ai(x)=[ai(x−xi)+bi]j=0,j=i∏n(x−xj)2
由
A
i
(
x
i
)
=
1
,
A
i
′
(
x
i
)
=
0
A_i(x_i)=1,A'_i(x_i)=0
Ai(xi)=1,Ai′(xi)=0 得
b
i
=
1
/
∏
j
=
0
,
j
≠
i
n
(
x
i
−
x
j
)
2
A
i
(
x
)
=
[
1
−
2
(
x
−
x
i
)
∑
j
=
0
,
j
≠
i
n
1
x
i
−
x
j
]
l
i
2
(
x
)
b_i=1/\prod_{j=0,j\neq i}^n(x_i-x_j)^2\\A_i(x)=[1-2(x-x_i)\sum_{j=0,j\neq i}^n\frac{1}{x_i-x_j}]l_i^2(x)
bi=1/j=0,j=i∏n(xi−xj)2Ai(x)=[1−2(x−xi)j=0,j=i∑nxi−xj1]li2(x)
其中,
l
i
(
x
)
l_i(x)
li(x) 为关于点
{
x
i
}
i
=
0
n
\{x_i\}^n_{i=0}
{xi}i=0n 的Lagrange 基函数。用类似的方法,可得到
B
i
(
x
)
=
(
x
−
x
i
)
l
i
2
(
x
)
H
2
n
+
1
(
x
)
=
∑
i
=
0
n
A
i
(
x
)
f
(
x
i
)
+
∑
i
=
0
n
B
i
(
x
)
f
′
(
x
i
)
B_i(x)=(x-x_i)l_i^2(x)\\H_{2n+1}(x)=\sum_{i=0}^nA_i(x)f(x_i)+\sum_{i=0}^nB_i(x)f'(x_i)
Bi(x)=(x−xi)li2(x)H2n+1(x)=i=0∑nAi(x)f(xi)+i=0∑nBi(x)f′(xi)
二重埃尔米特插值多项式的误差分析:若
f
∈
C
2
n
+
2
[
a
,
b
]
f\in C^{2n+2}[a,b]
f∈C2n+2[a,b],则
f
(
x
)
f(x)
f(x) 关于
[
a
,
b
]
[a,b]
[a,b] 上结点
{
x
i
}
i
=
0
n
\{x_i\}^n_{i=0}
{xi}i=0n 的二重埃尔米特插值多项式误差为
f
(
x
)
−
H
2
n
+
1
(
x
)
=
f
(
2
n
+
2
)
(
ξ
)
(
2
n
+
2
)
!
ω
n
+
1
2
(
x
)
m
i
n
{
x
0
,
x
1
,
⋯
,
x
n
,
x
}
≤
ξ
=
ξ
(
x
)
≤
m
a
x
{
x
0
,
x
1
,
⋯
,
x
n
,
x
}
f(x)-H_{2n+1}(x)=\frac{f^{(2n+2)}(\xi)}{(2n+2)!}\omega^2_{n+1}(x)\\min\{x_0,x_1,\cdots,x_n,x\}\leq\xi=\xi(x)\leq max\{x_0,x_1,\cdots,x_n,x\}
f(x)−H2n+1(x)=(2n+2)!f(2n+2)(ξ)ωn+12(x)min{x0,x1,⋯,xn,x}≤ξ=ξ(x)≤max{x0,x1,⋯,xn,x}
具有两个结点
x
0
,
x
1
x_0,x_1
x0,x1 的二重埃尔米特插值为一个三次多项式,基函数分别为:
A
0
(
x
)
=
[
1
−
2
x
−
x
0
x
0
−
x
1
]
(
x
−
x
1
x
0
−
x
1
)
2
A
1
(
x
)
=
[
1
−
2
x
−
x
1
x
1
−
x
0
]
(
x
−
x
1
x
0
−
x
1
)
2
B
0
(
x
)
=
(
x
−
x
0
)
(
x
−
x
1
x
0
−
x
1
)
2
B
1
(
x
)
=
(
x
−
x
1
)
(
x
−
x
1
x
0
−
x
1
)
2
A_0(x)=[1-2\frac{x-x_0}{x_0-x_1}](\frac{x-x_1}{x_0-x_1})^2\\A_1(x)=[1-2\frac{x-x_1}{x_1-x_0}](\frac{x-x_1}{x_0-x_1})^2\\B_0(x)=(x-x_0)(\frac{x-x_1}{x_0-x_1})^2\\B_1(x)=(x-x_1)(\frac{x-x_1}{x_0-x_1})^2
A0(x)=[1−2x0−x1x−x0](x0−x1x−x1)2A1(x)=[1−2x1−x0x−x1](x0−x1x−x1)2B0(x)=(x−x0)(x0−x1x−x1)2B1(x)=(x−x1)(x0−x1x−x1)2
所以,二重埃尔米特插值多项式为:
H
3
(
x
)
=
A
0
(
x
)
f
(
x
0
)
+
A
1
(
x
)
f
(
x
1
)
+
B
0
(
x
)
f
′
(
x
0
)
+
B
1
(
x
)
f
′
(
x
1
)
H_3(x)=A_0(x)f(x_0)+A_1(x)f(x_1)+B_0(x)f'(x_0)+B_1(x)f'(x_1)
H3(x)=A0(x)f(x0)+A1(x)f(x1)+B0(x)f′(x0)+B1(x)f′(x1)
若
f
∈
C
4
[
a
,
b
]
f\in C^4[a,b]
f∈C4[a,b],则有误差表达式:
R
3
(
x
)
=
f
(
x
)
−
H
3
(
x
)
=
f
(
4
)
(
ξ
)
4
!
(
x
−
x
0
)
2
(
x
−
x
1
)
2
R_3(x)=f(x)-H_3(x)=\frac{f^{(4)}(\xi)}{4!}(x-x_0)^2(x-x_1)^2
R3(x)=f(x)−H3(x)=4!f(4)(ξ)(x−x0)2(x−x1)2
一般形式的Hermite插值问题:求一个次数不大于 n + r + 1 n+r+1 n+r+1 的代数多项式 H ( x ) H(x) H(x) ,满足:
H ( x i ) = f ( x i ) , i = 0 , 1 , 2 , ⋯ , n H ′ ( x i ) = f ′ ( x i ) , i = 0 , 1 , 2 , ⋯ , r ( r ≤ n ) H(x_i)=f(x_i),i=0,1,2,\cdots,n\\H'(x_i)=f'(x_i),i=0,1,2,\cdots,r(r\leq n) H(xi)=f(xi),i=0,1,2,⋯,nH′(xi)=f′(xi),i=0,1,2,⋯,r(r≤n)
令 H ( x ) = ∑ k = 0 n h k ( x ) f ( x k ) + ∑ k = 0 r h ˉ k ( x ) f ′ ( x k ) H(x)=\sum_{k=0}^nh_k(x)f(x_k)+\sum_{k=0}^r\bar{h}_k(x)f'(x_k) H(x)=∑k=0nhk(x)f(xk)+∑k=0rhˉk(x)f′(xk),其中 h k ( x ) 、 h ˉ k ( x ) h_k(x)、\bar{h}_k(x) hk(x)、hˉk(x) 都是 n + r + 1 n+r+1 n+r+1 次待定多项式,并且满足:
h k ( x i ) = { 1 i = k 0 i ≠ k i , k = 0 , 1 , ⋯ , n h k ′ ( x i ) = 0 , k = 0 , 1 , ⋯ , n ; i = 0 , 1 , ⋯ , r h ˉ k ′ ( x i ) = { 1 i = k 0 i ≠ k i , k = 0 , 1 , ⋯ , r h ˉ k ( x i ) = 0 , k = 0 , 1 , ⋯ , r ; i = 0 , 1 , ⋯ , n h_k(x_i)=\begin{cases}1\ \ i=k\\0\ \ i\neq k\end{cases}\ \ \ \ i,k=0,1,\cdots,n\\h'_k(x_i)=0,\ \ k=0,1,\cdots,n;i=0,1,\cdots,r\\\bar{h}_k'(x_i)=\begin{cases}1\ \ i=k\\0\ \ i\neq k\end{cases}\ \ \ \ i,k=0,1,\cdots,r\\\bar{h}_k(x_i)=0,\ \ k=0,1,\cdots,r;i=0,1,\cdots,n hk(xi)={1 i=k0 i=k i,k=0,1,⋯,nhk′(xi)=0, k=0,1,⋯,n;i=0,1,⋯,rhˉk′(xi)={1 i=k0 i=k i,k=0,1,⋯,rhˉk(xi)=0, k=0,1,⋯,r;i=0,1,⋯,n
1、求解 h k ( x ) ( k = 0 , 1 , ⋯ , n ) h_k(x)(k=0,1,\cdots,n) hk(x)(k=0,1,⋯,n):由条件可得, x i ( i = 0 , 1 , ⋯ , r ; i ≠ k ) x_i(i=0,1,\cdots,r;i\neq k) xi(i=0,1,⋯,r;i=k) 是 h k ( x ) h_k(x) hk(x) 的二重零点, x i ( i = r + 1 , r + 2 , ⋯ , n ; i ≠ k ) x_i(i=r+1,r+2,\cdots,n;i\neq k) xi(i=r+1,r+2,⋯,n;i=k) 是 h k ( x ) h_k(x) hk(x) 的零点。当 0 ≤ k ≤ r 0\leq k\leq r 0≤k≤r 时:
h k ( x ) = ( A x + B ) ( x − x 0 ) 2 ⋯ ( x − x k − 1 ) 2 ( x − x k + 1 ) 2 ⋯ ( x − x r ) 2 ( x − x r + 1 ) ⋯ ( x − x n ) = ( A x + B ) ∏ i = 0 , i ≠ k r ( x − x i ) 2 ∏ i = r + 1 n ( x − x i ) h_k(x)=(Ax+B)(x-x_0)^2\cdots(x-x_{k-1})^2(x-x_{k+1})^2\cdots(x-x_r)^2(x-x_{r+1})\cdots(x-x_n)\\=(Ax+B)\prod_{i=0,i\neq k}^r(x-x_i)^2\prod_{i=r+1}^n(x-x_i) hk(x)=(Ax+B)(x−x0)2⋯(x−xk−1)2(x−xk+1)2⋯(x−xr)2(x−xr+1)⋯(x−xn)=(Ax+B)i=0,i=k∏r(x−xi)2i=r+1∏n(x−xi)又由 h k ( x k ) = 1 , h k ′ ( x k ) = 0 h_k(x_k)=1,h_k'(x_k)=0 hk(xk)=1,hk′(xk)=0 得:
( A x k + B ) ∏ i = 0 , i ≠ k r ( x k − x i ) 2 ∏ i = r + 1 n ( x k − x i ) = 1 A ∏ i = 0 i ≠ k r ( x k − x i ) 2 ∏ i = r + 1 n ( x k − x i ) + 2 ( A x k + B ) ∑ j = 0 r ( x k − x j ) ∏ i = 0 i ≠ j i ≠ k r ( x k − x i ) 2 ∏ i = r + 1 n ( x k − x i ) + ( A x k + B ) ∑ j = r + 1 n ∏ i = 0 i ≠ k r ( x k − x i ) 2 ∏ i = r + 1 i ≠ j n ( x k − x i ) = 0 (Ax_k+B)\prod_{i=0,i\neq k}^r(x_k-x_i)^2\prod_{i=r+1}^n(x_k-x_i)=1\\A\prod_{i=0\\i\neq k}^r(x_k-x_i)^2\prod_{i=r+1}^n(x_k-x_i)+2(Ax_k+B)\sum_{j=0}^r(x_k-x_j)\prod_{i=0\\i\neq j\\i\neq k}^r(x_k-x_i)^2\prod_{i=r+1}^n(x_k-x_i)+(Ax_k+B)\sum_{j=r+1}^n\prod_{i=0\\i\neq k}^r(x_k-x_i)^2\prod_{i=r+1\\i\neq j}^n(x_k-x_i)=0 (Axk+B)i=0,i=k∏r(xk−xi)2i=r+1∏n(xk−xi)=1Ai=0i=k∏r(xk−xi)2i=r+1∏n(xk−xi)+2(Axk+B)j=0∑r(xk−xj)i=0i=ji=k∏r(xk−xi)2i=r+1∏n(xk−xi)+(Axk+B)j=r+1∑ni=0i=k∏r(xk−xi)2i=r+1i=j∏n(xk−xi)=0
解得
A = − 2 ∑ j = 0 r 1 x k − x j + ∑ j = r + 1 n 1 x k − x j ∏ i = 0 i ≠ k r ( x k − x i ) 2 ∏ i = r + 1 n ( x k − x i ) B = − 1 − A x k ∏ i = 0 i ≠ k r ( x k − x i ) 2 ∏ i = r + 1 n ( x k − x i ) h k ( x ) = { 1 − ( x − x k ) [ l k n ′ ( x k ) + l k r ′ ( x k ) ] } l k n ( x ) l k r ( x ) , k = 0 , 1 , ⋯ , r 其 中 : l k n ( x ) = ∏ i = 0 i ≠ k n x − x i x k − x i l k r ( x ) = ∏ i = 0 i ≠ k r x − x i x k − x i l k n ′ ( x k ) = ∏ i = 0 i ≠ k n 1 x k − x i l k r ′ ( x k ) = ∏ i = 0 i ≠ k r 1 x k − x i A=-\frac{2\sum_{j=0}^r\frac{1}{x_k-x_j}+\sum_{j=r+1}^n\frac{1}{x_k-x_j}}{\prod_{i=0\\i\neq k}^r(x_k-x_i)^2\prod_{i=r+1}^n(x_k-x_i)}\\B=-\frac{1-Ax_k}{\prod_{i=0\\i\neq k}^r(x_k-x_i)^2\prod_{i=r+1}^n(x_k-x_i)}\\h_k(x)=\{1-(x-x_k)[l'_{kn}(x_k)+l'_{kr}(x_k)]\}l_{kn}(x)l_{kr}(x),k=0,1,\cdots,r\\其中:l_{kn}(x)=\prod_{i=0\\i\neq k}^n\frac{x-x_i}{x_k-x_i}\\l_{kr}(x)=\prod_{i=0\\i\neq k}^r\frac{x-x_i}{x_k-x_i}\\l'_{kn}(x_k)=\prod_{i=0\\i\neq k}^n\frac{1}{x_k-x_i}\\l'_{kr}(x_k)=\prod_{i=0\\i\neq k}^r\frac{1}{x_k-x_i} A=−∏i=0i=kr(xk−xi)2∏i=r+1n(xk−xi)2∑j=0rxk−xj1+∑j=r+1nxk−xj1B=−∏i=0i=kr(xk−xi)2∏i=r+1n(xk−xi)1−Axkhk(x)={1−(x−xk)[lkn′(xk)+lkr′(xk)]}lkn(x)lkr(x),k=0,1,⋯,r其中:lkn(x)=i=0i=k∏nxk−xix−xilkr(x)=i=0i=k∏rxk−xix−xilkn′(xk)=i=0i=k∏nxk−xi1lkr′(xk)=i=0i=k∏rxk−xi1
当 r + 1 ≤ k ≤ n r+1\leq k \leq n r+1≤k≤n 时, h k ( x ) h_k(x) hk(x) 具有如下形式:
h k ( x ) = C ∏ i = 0 r ( x − x i ) 2 ∏ i = r + 1 i ≠ k n ( x − x i ) h_k(x)=C\prod_{i=0}^r(x-x_i)^2\prod_{i=r+1\\i\neq k}^n(x-x_i) hk(x)=Ci=0∏r(x−xi)2i=r+1i=k∏n(x−xi)
由 h k ( x k ) = 1 h_k(x_k)=1 hk(xk)=1 得:
C = 1 ∏ i = 0 r ( x k − x i ) 2 ∏ i = r + 1 i ≠ k n ( x k − x i ) h k ( x ) = w r ( x ) w r ( x k ) l k n ( x ) , k = r + 1 , r + 2 , ⋯ , n 其 中 : w r ( x ) = ∏ i = 0 r ( x − x i ) w r ( x k ) = ∏ i = 0 r ( x k − x i ) l k n ( x ) = ∏ i = 0 i ≠ k n x − x i x k − x i C=\frac{1}{\prod_{i=0}^r(x_k-x_i)^2\prod_{i=r+1\\i\neq k}^n(x_k-x_i)}\\h_k(x)=\frac{w_r(x)}{w_r(x_k)}l_{kn}(x),k=r+1,r+2,\cdots,n\\其中:w_r(x)=\prod_{i=0}^r(x-x_i)\\w_r(x_k)=\prod_{i=0}^r(x_k-x_i)\\l_{kn}(x)=\prod_{i=0\\i\neq k}^n\frac{x-x_i}{x_k-x_i} C=∏i=0r(xk−xi)2∏i=r+1i=kn(xk−xi)1hk(x)=wr(xk)wr(x)lkn(x),k=r+1,r+2,⋯,n其中:wr(x)=i=0∏r(x−xi)wr(xk)=i=0∏r(xk−xi)lkn(x)=i=0i=k∏nxk−xix−xi
2、求解 h ˉ k ( x ) ( k = 0 , 1 , ⋯ , n ) \bar{h}_k(x)(k=0,1,\cdots,n) hˉk(x)(k=0,1,⋯,n):由条件可得, x i ( i = 0 , 1 , ⋯ , r ; i ≠ k ) x_i(i=0,1,\cdots,r;i\neq k) xi(i=0,1,⋯,r;i=k) 是 h ˉ k ( x ) \bar{h}_k(x) hˉk(x) 的二重零点, x i ( i = k , r + 1 , r + 2 , ⋯ , n ) x_i(i=k,r+1,r+2,\cdots,n) xi(i=k,r+1,r+2,⋯,n) 是 h ˉ k ( x ) \bar{h}_k(x) hˉk(x) 的零点。当 0 ≤ k ≤ r 0\leq k\leq r 0≤k≤r 时:
h ˉ k ( x ) = D ∏ i = 0 n ( x − x i ) ∏ i = 0 i ≠ k r ( x − x i ) \bar{h}_k(x)=D\prod_{i=0}^n(x-x_i)\prod_{i=0\\i\neq k}^r(x-x_i) hˉk(x)=Di=0∏n(x−xi)i=0i=k∏r(x−xi)
由 h ˉ k ′ ( x k ) = 1 \bar{h}'_k(x_k)=1 hˉk′(xk)=1得
D = 1 ∑ j = 0 n ∏ i = 0 i ≠ j n ( x k − x i ) ∏ i = 0 i ≠ k r ( x k − x i ) + ∑ j = 0 j ≠ k r ∏ i = 0 n ( x k − x i ) ∏ i = 0 i ≠ k i ≠ j r ( x k − x i ) h ˉ k ( x ) = ( x − x k ) l k n ( x ) l k r ( x ) , k = 0 , 1 , ⋯ , r D=\frac{1}{\sum_{j=0}^n\prod_{i=0\\i\neq j}^n(x_k-x_i)\prod_{i=0\\i\neq k}^r(x_k-x_i)+\sum_{j=0\\j\neq k}^r\prod_{i=0}^n(x_k-x_i)\prod_{i=0\\i\neq k\\i\neq j}^r(x_k-x_i)}\\\bar{h}_k(x)=(x-x_k)l_{kn}(x)l_{kr}(x),k=0,1,\cdots,r D=∑j=0n∏i=0i=jn(xk−xi)∏i=0i=kr(xk−xi)+∑j=0j=kr∏i=0n(xk−xi)∏i=0i=ki=jr(xk−xi)1hˉk(x)=(x−xk)lkn(x)lkr(x),k=0,1,⋯,r
补充:重节点差商
f [ x 0 , x 1 , x 2 , x 1 ] = f [ x 1 , x 2 , x 1 ] − f [ x 0 , x 1 , x 2 ] x 1 − x 0 f [ x 1 , x 2 , x 1 ] = f [ x 2 , x 1 ] − f [ x 1 , x 1 ] x 2 − x 1 f [ x 1 , x 1 ] = lim x 2 → x 1 f [ x 1 , x 2 ] = lim x 2 → x 1 f ( x 2 ) − f ( x 1 ) x 2 − x 1 = f ′ ( x 1 ) 类 似 的 , f [ x 1 , x 1 , x 1 ] = 1 2 ! f ′ ′ ( x 1 ) f [ x 1 , x 1 , ⋯ , x 1 ⏟ n + 1 个 ] = 1 n ! f ( n ) ( x 1 ) f[x_0,x_1,x_2,x_1]=\frac{f[x_1,x_2,x_1]-f[x_0,x_1,x_2]}{x_1-x_0}\\f[x_1,x_2,x_1]=\frac{f[x_2,x_1]-f[x_1,x_1]}{x_2-x_1}\\f[x_1,x_1]=\lim_{x_2\rightarrow x_1}f[x_1,x_2]=\lim_{x_2\rightarrow x_1}\frac{f(x_2)-f(x_1)}{x_2-x_1}=f'(x_1)\\类似的,f[x_1,x_1,x_1]=\frac{1}{2!}f''(x_1)\\f[\underbrace{x_1,x_1,\cdots,x_1}_{n+1个}]=\frac{1}{n!}f^{(n)}(x_1) f[x0,x1,x2,x1]=x1−x0f[x1,x2,x1]−f[x0,x1,x2]f[x1,x2,x1]=x2−x1f[x2,x1]−f[x1,x1]f[x1,x1]=x2→x1limf[x1,x2]=x2→x1limx2−x1f(x2)−f(x1)=f′(x1)类似的,f[x1,x1,x1]=2!1f′′(x1)f[n+1个 x1,x1,⋯,x1]=n!1f(n)(x1)
例如,已知 f ( x ) f(x) f(x) 在结点 x 0 , x 1 , x 2 x_0,x_1,x_2 x0,x1,x2 上的函数值和在 x 1 x_1 x1 处的导数值,求次数不超过3次的多项式 P ( x ) P(x) P(x):
P ( x ) = f ( x 0 ) + f [ x 0 , x 1 ] ( x − x 0 ) + f [ x 0 , x 1 , x 2 ] ( x − x 0 ) ( x − x 1 ) + f [ x 0 , x 1 , x 2 , x 1 ] ( x − x 0 ) ( x − x 1 ) ( x − x 2 ) P(x)=f(x_0)+f[x_0,x_1](x-x_0)+f[x_0,x_1,x_2](x-x_0)(x-x_1)+f[x_0,x_1,x_2,x_1](x-x_0)(x-x_1)(x-x_2) P(x)=f(x0)+f[x0,x1](x−x0)+f[x0,x1,x2](x−x0)(x−x1)+f[x0,x1,x2,x1](x−x0)(x−x1)(x−x2)
分段低次插值
龙格(Runge)现象:为减少逼近误差,盲目地提高插值阶是不可取的。一个解决办法:缩小插值区间,即分段低次插值。
分段线性插值与分段二次插值
对给定区间
[
a
,
b
]
[a,b]
[a,b] 作分割:
a
=
x
0
<
x
1
<
x
2
<
⋯
<
x
n
=
b
a=x_0<x_1<x_2<\cdots<x_n=b
a=x0<x1<x2<⋯<xn=b。在每个小区间
[
x
i
−
1
,
x
i
]
[x_{i-1},x_i]
[xi−1,xi] 上作
f
(
x
)
f(x)
f(x) 以
x
i
−
1
,
x
i
x_{i-1},x_i
xi−1,xi 为结点的线性插值,记为
L
1
(
x
)
L_1(x)
L1(x),则
f
(
x
)
≈
L
1
(
x
)
=
f
(
x
i
−
1
)
x
−
x
i
x
i
−
1
−
x
i
+
f
(
x
i
)
x
−
x
i
−
1
x
i
−
x
i
−
1
f(x)\approx L_1(x)=f(x_{i-1})\frac{x-x_i}{x_{i-1}-x_i}+f(x_i)\frac{x-x_{i-1}}{x_i-x_{i-1}}
f(x)≈L1(x)=f(xi−1)xi−1−xix−xi+f(xi)xi−xi−1x−xi−1
即为分段线性插值(折线插值)。
特点:
- L 1 ( x ) ∈ C [ a , b ] L_1(x)\in C[a,b] L1(x)∈C[a,b]。
- L 1 ( x ) L_1(x) L1(x) 在 [ x i − 1 , x i ] [x_{i-1},x_i] [xi−1,xi] 上为一个不高于一次的多项式。
误差:若 f ( x ) ∈ C 2 [ a , b ] f(x)\in C^2[a,b] f(x)∈C2[a,b],则 ∣ f ( x ) − L 1 ( x ) ∣ ≤ M 2 8 h 2 |f(x)-L_1(x)|\leq\frac{M_2}{8}h^2 ∣f(x)−L1(x)∣≤8M2h2,其中 M 2 = max a ≤ x ≤ b ∣ f ′ ′ ( x ) ∣ , h i = x i − x i − 1 , h = max 1 ≤ i ≤ n h i M_2=\max_{a\leq x\leq b}|f''(x)|,h_i=x_i-x_{i-1},h=\max_{1\leq i\leq n}h_i M2=maxa≤x≤b∣f′′(x)∣,hi=xi−xi−1,h=max1≤i≤nhi
证明:当 x ∈ [ x i − 1 , x i ] x\in[x_{i-1},x_i] x∈[xi−1,xi] 时,可得:
f ( x ) − L 1 ( x ) = f ′ ′ ( ξ ) 2 ! ( x − x i − 1 ) ( x − x i ) ∣ f ( x ) − L 1 ( x ) ∣ ≤ M 2 2 ∣ ( x − x i − 1 ) ( x − x i ) ∣ ≤ M 2 2 ⋅ 1 4 ( x i − x i − 1 ) 2 ≤ M 2 8 h 2 f(x)-L_1(x)=\frac{f''(\xi)}{2!}(x-x_{i-1})(x-x_i)\\|f(x)-L_1(x)|\leq\frac{M_2}{2}|(x-x_{i-1})(x-x_i)|\leq\frac{M_2}{2}·\frac{1}{4}(x_i-x_{i-1})^2\leq\frac{M_2}{8}h^2 f(x)−L1(x)=2!f′′(ξ)(x−xi−1)(x−xi)∣f(x)−L1(x)∣≤2M2∣(x−xi−1)(x−xi)∣≤2M2⋅41(xi−xi−1)2≤8M2h2
由此可知,当区间分割加密,即 max i ( x i − x i − 1 ) → 0 \max_i(x_i-x_{i-1})\rightarrow0 maxi(xi−xi−1)→0,分段线性插值 L 1 ( x ) L_1(x) L1(x) 收敛于 f ( x ) f(x) f(x)。
分段线性插值有很好的收敛性质,但却是不光滑的。
分段二次插值(分段抛物插值):
f
(
x
)
≈
L
2
(
x
)
=
∑
k
=
i
−
1
i
+
1
[
f
(
x
i
)
∏
j
=
i
−
1
j
≠
k
i
+
1
(
x
−
x
j
x
k
−
x
j
)
]
f(x)\approx L_2(x)=\sum_{k=i-1}^{i+1}[f(x_i)\prod_{j=i-1\\j\neq k}^{i+1}(\frac{x-x_j}{x_k-x_j})]
f(x)≈L2(x)=k=i−1∑i+1[f(xi)j=i−1j=k∏i+1(xk−xjx−xj)]
三次样条插值
定义5: △ : a = x 0 < x 1 < x 2 < ⋯ < x n = b \triangle:a=x_0<x_1<x_2<\cdots<x_n=b △:a=x0<x1<x2<⋯<xn=b 为 [ a , b ] [a,b] [a,b] 上的一个分割,若函数 S ( x ) S(x) S(x) 满足:
- S ( x ) S(x) S(x) 在每个子区间 [ x i , x i + 1 ] [x_i,x_{i+1}] [xi,xi+1] 上为不高于三次的多项式;
- S ( x ) ∈ C 2 ( a , b ) S(x)\in C^2(a,b) S(x)∈C2(a,b);
- S ( x i ) = f ( x i ) , i = 0 , 1 , ⋯ , n S(x_i)=f(x_i),i=0,1,\cdots,n S(xi)=f(xi),i=0,1,⋯,n
则称 S ( x ) S(x) S(x) 为 f ( x ) f(x) f(x) 在 △ \triangle △ 上的三次样条插值函数。
唯一性:需要提出两个限制条件,称为边界条件或端点条件,通常有三种提法:
S ( x ) S(x) S(x) 两端的一阶导数值等于预先给定的值,即
S ′ ( x 0 ) = y 0 ′ , S ′ ( x n ) = y n ′ S'(x_0)=y_0',S'(x_n)=y_n' S′(x0)=y0′,S′(xn)=yn′
称为 D 1 D_1 D1 样条。S ( x ) S(x) S(x) 两端的二阶导数值等于预先给定的值,即
S ′ ′ ( x 0 ) = y 0 ′ ′ , S ′ ′ ( x n ) = y n ′ ′ S''(x_0)=y_0'',S''(x_n)=y_n'' S′′(x0)=y0′′,S′′(xn)=yn′′
称为 D 2 D_2 D2 样条。特别的,当 S ′ ′ ( x 0 ) = S ′ ′ ( x n ) = 0 S''(x_0)=S''(x_n)=0 S′′(x0)=S′′(xn)=0 时,为自然样条。若三次样条为以 b − a b-a b−a 为周期的周期函数( f ( x n ) = f ( x 0 ) , S ( x 0 + 0 ) = S ( x n − 0 ) f(x_n)=f(x_0),S(x_0+0)=S(x_n-0) f(xn)=f(x0),S(x0+0)=S(xn−0)),则称 S ′ ( x 0 + 0 ) = S ′ ( x n − 0 ) , S ′ ′ ( x 0 + 0 ) = S ′ ′ ( x n − 0 ) S'(x_0+0)=S'(x_n-0),S''(x_0+0)=S''(x_n-0) S′(x0+0)=S′(xn−0),S′′(x0+0)=S′′(xn−0) 为周期样条。
三斜率(三转角)方程组
S
(
x
)
S(x)
S(x) 为一个不高于三次的多项式。设
S
′
(
x
i
)
=
d
i
,
i
=
0
,
1
,
⋯
,
n
S'(x_i)=d_i,i=0,1,\cdots,n
S′(xi)=di,i=0,1,⋯,n,
S
(
x
)
S(x)
S(x) 在
[
x
i
,
x
i
+
1
]
[x_i,x_{i+1}]
[xi,xi+1] 上的表达式为
S
i
(
x
)
S_i(x)
Si(x),于是有
S
i
(
x
i
)
=
f
(
x
i
)
,
S
i
(
x
i
+
1
)
=
f
(
x
i
+
1
)
S
i
′
(
x
i
)
=
d
i
,
S
i
′
(
x
i
+
1
)
=
d
i
+
1
h
i
+
1
=
x
i
+
1
−
x
i
S_i(x_i)=f(x_i),S_i(x_{i+1})=f(x_{i+1})\\S_i'(x_i)=d_i,S_i'(x_{i+1})=d_{i+1}\\h_{i+1}=x_{i+1}-x_i
Si(xi)=f(xi),Si(xi+1)=f(xi+1)Si′(xi)=di,Si′(xi+1)=di+1hi+1=xi+1−xi
记:
λ
i
=
h
i
+
1
h
i
+
h
i
+
1
,
μ
i
=
1
−
λ
i
=
h
i
h
i
+
h
i
+
1
,
C
i
=
3
(
λ
i
f
[
x
i
−
1
,
x
i
]
+
μ
i
f
[
x
i
,
x
i
+
1
]
)
\lambda_i=\frac{h_{i+1}}{h_i+h_{i+1}},\mu_i=1-\lambda_i=\frac{h_i}{h_i+h_{i+1}},C_i=3(\lambda_if[x_{i-1},x_i]+\mu_if[x_i,x_{i+1}])
λi=hi+hi+1hi+1,μi=1−λi=hi+hi+1hi,Ci=3(λif[xi−1,xi]+μif[xi,xi+1])
则有三次样条插值的
d
d
d 关系式(或
m
m
m 关系式):
λ
i
d
i
−
1
+
2
d
i
+
μ
i
d
i
+
1
=
C
i
,
i
=
1
,
2
,
⋯
,
n
−
1
\lambda_id_{i-1}+2d_i+\mu_id_{i+1}=C_i,i=1,2,\cdots,n-1
λidi−1+2di+μidi+1=Ci,i=1,2,⋯,n−1
加入两个端点条件,才能解得
{
d
i
}
i
=
0
n
\{d_i\}^n_{i=0}
{di}i=0n,有三种方法:
-
D 1 D_1 D1 样条: S ( x ) S(x) S(x) 两端的一阶导数值等于预先给定的值:
S ′ ( x 0 ) = y 0 ′ , S ′ ( x n ) = y n ′ S'(x_0)=y_0',S'(x_n)=y_n' S′(x0)=y0′,S′(xn)=yn′
求线性方程组,得 d i ( i = 1 , ⋯ , n − 1 ) d_i(i=1,\cdots,n-1) di(i=1,⋯,n−1):
[ 2 μ 1 λ 2 2 μ 2 ⋱ ⋱ ⋱ λ n − 2 2 μ n − 2 λ n − 1 2 ] [ d 1 d 2 ⋮ d n − 2 d n − 1 ] = [ C 1 − λ 1 y 0 ′ C 2 ⋮ C n − 2 C n − 1 − μ n − 1 y n ′ ] \left[\begin{matrix}2&\mu_1&&\\\lambda_2&2&\mu_2&\\\ddots&\ddots&\ddots\\&\lambda_{n-2}&2&\mu_{n-2}\\&&\lambda_{n-1}&2\end{matrix}\right]\left[\begin{matrix}d_1\\d_2\\\vdots\\d_{n-2}\\d_{n-1}\end{matrix}\right]=\left[\begin{matrix}C_1-\lambda_1y_0'\\C_2\\\vdots\\C_{n-2}\\C_{n-1}-\mu_{n-1}y_n'\end{matrix}\right] ⎣⎢⎢⎢⎢⎡2λ2⋱μ12⋱λn−2μ2⋱2λn−1μn−22⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎡d1d2⋮dn−2dn−1⎦⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎡C1−λ1y0′C2⋮Cn−2Cn−1−μn−1yn′⎦⎥⎥⎥⎥⎥⎤ -
D 2 D_2 D2 样条: S ( x ) S(x) S(x) 两端的二阶导数值等于预先给定的值:
S ′ ′ ( x 0 ) = y 0 ′ ′ , S ′ ′ ( x n ) = y n ′ ′ S''(x_0)=y_0'',S''(x_n)=y_n'' S′′(x0)=y0′′,S′′(xn)=yn′′
由 S ′ ′ ( x ) S''(x) S′′(x) 在 [ x i , x i + 1 ] [x_i,x_{i+1}] [xi,xi+1] 的表达式,容易得到:
2 d 0 + d 1 = 3 f [ x 0 , x 1 ] − h 1 2 y 0 ′ ′ d n − 1 + 2 d n = 3 f [ x n − 1 , x n ] − h n 2 y n ′ ′ 2d_0+d_1=3f[x_0,x_1]-\frac{h_1}{2}y_0''\\d_{n-1}+2d_n=3f[x_{n-1},x_n]-\frac{h_n}{2}y_n'' 2d0+d1=3f[x0,x1]−2h1y0′′dn−1+2dn=3f[xn−1,xn]−2hnyn′′
可得关于 { d i } i = 0 n \{d_i\}^n_{i=0} {di}i=0n 的一组线性方程组:
[ 2 1 λ 1 2 μ 1 ⋱ ⋱ ⋱ λ n − 1 2 μ n − 1 1 2 ] [ d 0 d 1 ⋮ d n − 1 d n ] = [ 3 f [ x 0 , x 1 ] − h 1 2 y 0 ′ ′ C 1 ⋮ C n − 1 3 f [ x n − 1 , x n ] − h n 2 y n ′ ′ ] \left[\begin{matrix}2&1&&\\\lambda_1&2&\mu_1&\\\ddots&\ddots&\ddots\\&\lambda_{n-1}&2&\mu_{n-1}\\&&1&2\end{matrix}\right]\left[\begin{matrix}d_0\\d_1\\\vdots\\d_{n-1}\\d_n\end{matrix}\right]=\left[\begin{matrix}3f[x_0,x_1]-\frac{h_1}{2}y_0''\\C_1\\\vdots\\C_{n-1}\\3f[x_{n-1},x_n]-\frac{h_n}{2}y_n''\end{matrix}\right] ⎣⎢⎢⎢⎢⎡2λ1⋱12⋱λn−1μ1⋱21μn−12⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎡d0d1⋮dn−1dn⎦⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎡3f[x0,x1]−2h1y0′′C1⋮Cn−13f[xn−1,xn]−2hnyn′′⎦⎥⎥⎥⎥⎥⎤ -
周期样条:若三次样条为以 b − a b-a b−a 为周期的周期函数, f ( x n ) = f ( x 0 ) , S ( x 0 ) = S ( x n ) , S ′ ( x 0 ) = S ′ ( x n ) , S ′ ′ ( x 0 ) = S ′ ′ ( x n ) f(x_n)=f(x_0),S(x_0)=S(x_n),S'(x_0)=S'(x_n),S''(x_0)=S''(x_n) f(xn)=f(x0),S(x0)=S(xn),S′(x0)=S′(xn),S′′(x0)=S′′(xn),可得
λ n − 1 d n − 2 + 2 d n − 1 + μ n − 1 d 0 = C n − 1 λ 0 d n − 1 + 2 d 0 + μ 0 d 1 = C 0 这 里 : λ 0 = h 1 h n + h 1 , μ 0 = 1 − λ 0 = h n h n + h 1 C 0 = 3 ( λ 0 f [ x n − 1 , x n ] + μ 0 f [ x 0 , x 1 ] ) \lambda_{n-1}d_{n-2}+2d_{n-1}+\mu_{n-1}d_0=C_{n-1}\\\lambda_0d_{n-1}+2d_0+\mu_0d_1=C_0\\这里:\lambda_0=\frac{h_1}{h_n+h_1},\mu_0=1-\lambda_0=\frac{h_n}{h_n+h_1}\\C_0=3(\lambda_0f[x_{n-1},x_n]+\mu_0f[x_0,x_1]) λn−1dn−2+2dn−1+μn−1d0=Cn−1λ0dn−1+2d0+μ0d1=C0这里:λ0=hn+h1h1,μ0=1−λ0=hn+h1hnC0=3(λ0f[xn−1,xn]+μ0f[x0,x1])
得到关于 { d i } i = 0 n \{d_i\}^n_{i=0} {di}i=0n 的一组线性方程组:
[ 2 μ 0 λ 0 λ 1 2 μ 1 ⋱ ⋱ ⋱ λ n − 2 2 μ n − 2 μ n − 1 λ n − 1 2 ] [ d 0 d 1 ⋮ d n − 2 d n − 1 ] = [ C 0 C 1 ⋮ C n − 2 C n − 1 ] \left[\begin{matrix}2&\mu_0&&\lambda_0\\\lambda_1&2&\mu_1&\\\ddots&\ddots&\ddots\\&\lambda_{n-2}&2&\mu_{n-2}\\\mu_{n-1}&&\lambda_{n-1}&2\end{matrix}\right]\left[\begin{matrix}d_0\\d_1\\\vdots\\d_{n-2}\\d_{n-1}\end{matrix}\right]=\left[\begin{matrix}C_0\\C_1\\\vdots\\C_{n-2}\\C_{n-1}\end{matrix}\right] ⎣⎢⎢⎢⎢⎡2λ1⋱μn−1μ02⋱λn−2μ1⋱2λn−1λ0μn−22⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎡d0d1⋮dn−2dn−1⎦⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎡C0C1⋮Cn−2Cn−1⎦⎥⎥⎥⎥⎥⎤
求出
{
d
i
}
i
=
0
n
\{d_i\}^n_{i=0}
{di}i=0n ,即得在
[
x
i
,
x
i
+
1
]
[x_i,x_{i+1}]
[xi,xi+1] 上的三次样条插值函数为:
S
i
(
x
)
=
1
h
i
+
1
3
[
h
i
+
1
+
2
(
x
−
x
i
)
]
(
x
−
x
i
+
1
)
2
f
(
x
i
)
+
1
h
i
+
1
3
[
h
i
+
1
−
2
(
x
−
x
i
+
1
)
]
(
x
−
x
i
)
2
f
(
x
i
+
1
)
+
1
h
i
+
1
2
(
x
−
x
i
)
(
x
−
x
i
+
1
)
2
d
i
+
1
h
i
+
1
2
(
x
−
x
i
+
1
)
(
x
−
x
i
)
2
d
i
+
1
S_i(x)=\frac{1}{h_{i+1}^3}[h_{i+1}+2(x-x_i)](x-x_{i+1})^2f(x_i)\\+\frac{1}{h_{i+1}^3}[h_{i+1}-2(x-x_{i+1})](x-x_i)^2f(x_{i+1})\\+\frac{1}{h_{i+1}^2}(x-x_i)(x-x_{i+1})^2d_i\\+\frac{1}{h_{i+1}^2}(x-x_{i+1})(x-x_i)^2d_{i+1}
Si(x)=hi+131[hi+1+2(x−xi)](x−xi+1)2f(xi)+hi+131[hi+1−2(x−xi+1)](x−xi)2f(xi+1)+hi+121(x−xi)(x−xi+1)2di+hi+121(x−xi+1)(x−xi)2di+1
三弯矩方程组(M关系式)
对于样条插值函数 S ( x ) ∈ C 2 ( a , b ) S(x)\in C^2(a,b) S(x)∈C2(a,b),设 S ′ ′ ( x i ) = M i , i = 0 , 1 , ⋯ , n S''(x_i)=M_i,i=0,1,\cdots,n S′′(xi)=Mi,i=0,1,⋯,n 为待求参数。
三次样条插值的
M
M
M 关系式:
μ
i
M
i
−
1
+
2
M
i
+
λ
i
M
i
+
1
=
c
i
,
i
=
1
,
2
,
⋯
,
n
−
1
c
i
=
6
f
[
x
i
−
1
,
x
i
,
x
i
+
1
]
\mu_iM_{i-1}+2M_i+\lambda_iM_{i+1}=c_i,i=1,2,\cdots,n-1\\c_i=6f[x_{i-1},x_i,x_{i+1}]
μiMi−1+2Mi+λiMi+1=ci,i=1,2,⋯,n−1ci=6f[xi−1,xi,xi+1]
加入两个端点条件,通过 M M M 关系式可解得 { M i } i = 0 n \{M_i\}^n_{i=0} {Mi}i=0n,有三种方法:
-
D 1 D_1 D1 样条: S ( x ) S(x) S(x) 两端的一阶导数值等于预先给定的值:
S ′ ( x 0 ) = y 0 ′ , S ′ ( x n ) = y n ′ S'(x_0)=y_0',S'(x_n)=y_n' S′(x0)=y0′,S′(xn)=yn′
对 i = 0 i=0 i=0 及 i = n − 1 i=n-1 i=n−1 时的 S i ( x ) S_i(x) Si(x) 求导,并分别对 x 0 , x n x_0,x_n x0,xn 代入,整理得:
2 M 0 + M 1 = 6 h 1 ( f [ x 0 , x 1 ] − y 0 ′ ) M n − 1 + 2 M n = 6 h n ( y n ′ − f [ x n − 1 , x n ] ) 2M_0+M_1=\frac{6}{h_1}(f[x_0,x_1]-y_0')\\M_{n-1}+2M_n=\frac{6}{h_n}(y_n'-f[x_{n-1},x_n]) 2M0+M1=h16(f[x0,x1]−y0′)Mn−1+2Mn=hn6(yn′−f[xn−1,xn])
得到关于 { M i } i = 0 n \{M_i\}^n_{i=0} {Mi}i=0n 的方程组:
[ 2 1 μ 1 2 λ 1 ⋱ ⋱ ⋱ μ n − 1 2 λ n − 1 1 2 ] [ M 0 M 1 ⋮ M n − 1 M n ] = [ 6 h 1 ( f [ x 0 , x 1 ] − y 0 ′ ) c 1 ⋮ c n − 1 6 h n ( y n ′ − f [ x n − 1 , x n ] ) ] \left[\begin{matrix}2&1&&\\\mu_1&2&\lambda_1&\\\ddots&\ddots&\ddots\\&\mu_{n-1}&2&\lambda_{n-1}\\&&1&2\end{matrix}\right]\left[\begin{matrix}M_0\\M_1\\\vdots\\M_{n-1}\\M_n\end{matrix}\right]=\left[\begin{matrix}\frac{6}{h_1}(f[x_0,x_1]-y_0')\\c_1\\\vdots\\c_{n-1}\\\frac{6}{h_n}(y_n'-f[x_{n-1},x_n])\end{matrix}\right] ⎣⎢⎢⎢⎢⎡2μ1⋱12⋱μn−1λ1⋱21λn−12⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎡M0M1⋮Mn−1Mn⎦⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎡h16(f[x0,x1]−y0′)c1⋮cn−1hn6(yn′−f[xn−1,xn])⎦⎥⎥⎥⎥⎥⎤ -
D 2 D_2 D2 样条: S ( x ) S(x) S(x) 两端的二阶导数值等于预先给定的值:
S ′ ′ ( x 0 ) = y 0 ′ ′ , S ′ ′ ( x n ) = y n ′ ′ S''(x_0)=y_0'',S''(x_n)=y_n'' S′′(x0)=y0′′,S′′(xn)=yn′′
得到关于 { M i } i = 0 n \{M_i\}^n_{i=0} {Mi}i=0n 的方程组:
[ 2 λ 1 μ 2 2 λ 2 ⋱ ⋱ ⋱ μ n − 2 2 λ n − 2 μ n − 1 2 ] [ M 1 M 2 ⋮ M n − 2 M n − 1 ] = [ c 1 − μ 1 y 0 ′ ′ c 2 ⋮ c n − 2 c n − 1 − λ n − 1 y n ′ ′ ] \left[\begin{matrix}2&\lambda_1&&\\\mu_2&2&\lambda_2&\\\ddots&\ddots&\ddots\\&\mu_{n-2}&2&\lambda_{n-2}\\&&\mu_{n-1}&2\end{matrix}\right]\left[\begin{matrix}M_1\\M_2\\\vdots\\M_{n-2}\\M_{n-1}\end{matrix}\right]=\left[\begin{matrix}c_1-\mu_1y_0''\\c_2\\\vdots\\c_{n-2}\\c_{n-1}-\lambda_{n-1}y_n''\end{matrix}\right] ⎣⎢⎢⎢⎢⎡2μ2⋱λ12⋱μn−2λ2⋱2μn−1λn−22⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎡M1M2⋮Mn−2Mn−1⎦⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎡c1−μ1y0′′c2⋮cn−2cn−1−λn−1yn′′⎦⎥⎥⎥⎥⎥⎤ -
周期样条:若三次样条为以 b − a b-a b−a 为周期的周期函数, f ( x n ) = f ( x 0 ) , S ( x 0 ) = S ( x n ) , S ′ ( x 0 ) = S ′ ( x n ) , S ′ ′ ( x 0 ) = S ′ ′ ( x n ) f(x_n)=f(x_0),S(x_0)=S(x_n),S'(x_0)=S'(x_n),S''(x_0)=S''(x_n) f(xn)=f(x0),S(x0)=S(xn),S′(x0)=S′(xn),S′′(x0)=S′′(xn),可得:
μ 0 M n − 1 + 2 M 0 + λ 0 M 1 = 6 h 1 + h n ( f [ x 0 , x 1 ] − f [ x n − 1 , x n ] ) 这 里 : λ 0 = h 1 h 1 + h n , μ 0 = 1 − λ 0 = h n h 1 + h n μ n − 1 M n − 1 + 2 M n − 1 + λ n − 1 M 0 = c n − 1 \mu_0M_{n-1}+2M_0+\lambda_0M_1=\frac{6}{h_1+h_n}(f[x_0,x_1]-f[x_{n-1},x_n])\\这里:\lambda_0=\frac{h_1}{h_1+h_n},\mu_0=1-\lambda_0=\frac{h_n}{h_1+h_n}\\\mu_{n-1}M_{n-1}+2M_{n-1}+\lambda_{n-1}M_0=c_{n-1} μ0Mn−1+2M0+λ0M1=h1+hn6(f[x0,x1]−f[xn−1,xn])这里:λ0=h1+hnh1,μ0=1−λ0=h1+hnhnμn−1Mn−1+2Mn−1+λn−1M0=cn−1
得到关于 { M i } i = 0 n − 1 \{M_i\}^{n-1}_{i=0} {Mi}i=0n−1 的方程组:
[ 2 λ 0 μ 0 μ 1 2 λ 1 ⋱ ⋱ ⋱ μ n − 2 2 λ n − 2 λ n − 1 μ n − 1 2 ] [ M 0 M 1 ⋮ M n − 2 M n − 1 ] = [ 6 h 1 + h n ( f [ x 0 , x 1 ] − f [ x n − 1 , x n ] ) c 1 ⋮ c n − 2 c n − 1 ] \left[\begin{matrix}2&\lambda_0&&\mu_0\\\mu_1&2&\lambda_1&\\\ddots&\ddots&\ddots\\&\mu_{n-2}&2&\lambda_{n-2}\\\lambda_{n-1}&&\mu_{n-1}&2\end{matrix}\right]\left[\begin{matrix}M_0\\M_1\\\vdots\\M_{n-2}\\M_{n-1}\end{matrix}\right]=\left[\begin{matrix}\frac{6}{h_1+h_n}(f[x_0,x_1]-f[x_{n-1},x_n])\\c_1\\\vdots\\c_{n-2}\\c_{n-1}\end{matrix}\right] ⎣⎢⎢⎢⎢⎡2μ1⋱λn−1λ02⋱μn−2λ1⋱2μn−1μ0λn−22⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎡M0M1⋮Mn−2Mn−1⎦⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎡h1+hn6(f[x0,x1]−f[xn−1,xn])c1⋮cn−2cn−1⎦⎥⎥⎥⎥⎥⎤
求出
{
M
i
}
i
=
0
n
\{M_i\}^n_{i=0}
{Mi}i=0n ,即得在
[
x
i
,
x
i
+
1
]
[x_i,x_{i+1}]
[xi,xi+1] 上的三次样条插值函数为:
S
i
(
x
)
=
M
i
(
x
i
+
1
−
x
)
3
6
h
i
+
1
+
M
i
+
1
(
x
−
x
i
)
3
6
h
i
+
1
+
(
y
i
−
M
i
6
h
i
+
1
2
)
x
i
+
1
−
x
h
i
+
1
+
(
y
i
+
1
−
M
i
+
1
6
h
i
+
1
2
)
x
−
x
i
h
i
+
1
S_i(x)=M_i\frac{(x_{i+1}-x)^3}{6h_{i+1}}+M_{i+1}\frac{(x-x_i)^3}{6h_{i+1}}\\+(y_i-\frac{M_i}{6}h_{i+1}^2)\frac{x_{i+1}-x}{h_{i+1}}+(y_{i+1}-\frac{M_{i+1}}{6}h_{i+1}^2)\frac{x-x_i}{h_{i+1}}
Si(x)=Mi6hi+1(xi+1−x)3+Mi+16hi+1(x−xi)3+(yi−6Mihi+12)hi+1xi+1−x+(yi+1−6Mi+1hi+12)hi+1x−xi
定理3:满足3个边界条件其中一个的三次样条插值函数 S ( x ) S(x) S(x) 存在且唯一。
曲线拟合的最小二乘法
选取
φ
(
x
)
\varphi(x)
φ(x),使偏差平方和最小:
∑
i
=
1
m
δ
i
2
=
∑
i
=
1
m
[
φ
(
x
i
)
−
y
i
]
2
=
min
\sum_{i=1}^m\delta_i^2=\sum_{i=1}^m[\varphi(x_i)-y_i]^2=\min
i=1∑mδi2=i=1∑m[φ(xi)−yi]2=min
最小二乘解的求法
设
φ
(
x
)
=
F
(
a
0
,
a
1
,
⋯
,
a
n
,
x
)
\varphi(x)=F(a_0,a_1,\cdots,a_n,x)
φ(x)=F(a0,a1,⋯,an,x),其中
n
<
m
,
a
k
(
k
=
0
,
1
,
⋯
,
n
)
n<m,a_k(k=0,1,\cdots,n)
n<m,ak(k=0,1,⋯,n) 是待定参数,记
S
(
a
0
,
a
1
,
⋯
,
a
n
)
=
∑
i
=
1
m
[
F
(
a
0
,
a
1
,
⋯
,
a
n
,
x
i
)
−
y
i
]
2
S(a_0,a_1,\cdots,a_n)=\sum_{i=1}^m[F(a_0,a_1,\cdots,a_n,x_i)-y_i]^2
S(a0,a1,⋯,an)=i=1∑m[F(a0,a1,⋯,an,xi)−yi]2
根据最小二乘法原则,求
a
0
∗
,
⋯
,
a
n
∗
a_0^*,\cdots,a_n^*
a0∗,⋯,an∗,满足:
∂
S
∂
a
k
=
0
(
k
=
0
,
1
,
⋯
,
n
)
\frac{\partial S}{\partial a_k}=0\ \ \ \ \ (k=0,1,\cdots,n)
∂ak∂S=0 (k=0,1,⋯,n)
由上式的解
a
0
∗
,
⋯
,
a
n
∗
a_0^*,\cdots,a_n^*
a0∗,⋯,an∗ 得到的:
φ
∗
(
x
)
=
F
(
a
0
∗
,
a
1
∗
,
⋯
,
a
n
∗
,
x
)
\varphi^*(x)=F(a_0^*,a_1^*,\cdots,a_n^*,x)
φ∗(x)=F(a0∗,a1∗,⋯,an∗,x)
就为所求的最小二乘解。
线性最小二乘问题的求法
φ
(
x
)
=
a
0
φ
0
(
x
)
+
a
1
φ
1
(
x
)
+
⋯
+
a
n
φ
n
(
x
)
\varphi(x)=a_0\varphi_0(x)+a_1\varphi_1(x)+\cdots+a_n\varphi_n(x)
φ(x)=a0φ0(x)+a1φ1(x)+⋯+anφn(x),此时:
S
(
a
0
,
a
1
,
⋯
,
a
n
)
=
∑
i
=
1
m
[
∑
k
=
0
n
a
k
φ
k
(
x
i
)
−
y
i
]
2
S(a_0,a_1,\cdots,a_n)=\sum_{i=1}^m[\sum_{k=0}^na_k\varphi_k(x_i)-y_i]^2
S(a0,a1,⋯,an)=i=1∑m[k=0∑nakφk(xi)−yi]2
由
∂
S
∂
a
k
=
0
(
k
=
0
,
1
,
⋯
,
n
)
\frac{\partial S}{\partial a_k}=0\ \ (k=0,1,\cdots,n)
∂ak∂S=0 (k=0,1,⋯,n),得
∑
i
=
1
m
φ
k
(
x
i
)
[
∑
k
=
0
n
a
k
φ
k
(
x
i
)
−
y
i
]
=
0
,
k
=
0
,
1
,
⋯
,
n
a
0
∑
i
=
1
m
φ
k
(
x
i
)
φ
0
(
x
i
)
+
⋯
+
a
n
∑
i
=
1
m
φ
k
(
x
i
)
φ
n
(
x
i
)
=
∑
i
=
1
m
φ
k
(
x
i
)
y
i
\sum_{i=1}^m\varphi_k(x_i)[\sum_{k=0}^na_k\varphi_k(x_i)-y_i]=0,k=0,1,\cdots,n\\a_0\sum_{i=1}^m\varphi_k(x_i)\varphi_0(x_i)+\cdots+a_n\sum_{i=1}^m\varphi_k(x_i)\varphi_n(x_i)=\sum_{i=1}^m\varphi_k(x_i)y_i
i=1∑mφk(xi)[k=0∑nakφk(xi)−yi]=0,k=0,1,⋯,na0i=1∑mφk(xi)φ0(xi)+⋯+ani=1∑mφk(xi)φn(xi)=i=1∑mφk(xi)yi
引入内积记号:
(
h
,
g
)
=
∑
i
=
1
m
h
(
x
i
)
g
(
x
i
)
(h,g)=\sum_{i=1}^mh(x_i)g(x_i)
(h,g)=∑i=1mh(xi)g(xi),则上述方程组可以表示为
a
0
(
φ
k
,
φ
0
)
+
⋯
+
a
n
(
φ
k
,
φ
n
)
=
(
φ
k
,
f
)
,
k
=
0
,
1
,
⋯
,
n
[
(
φ
0
,
φ
0
)
(
φ
0
,
φ
1
)
⋯
(
φ
0
,
φ
n
)
(
φ
1
,
φ
0
)
(
φ
1
,
φ
1
)
⋯
(
φ
1
,
φ
n
)
⋮
⋮
⋮
(
φ
n
,
φ
0
)
(
φ
n
,
φ
1
)
⋯
(
φ
n
,
φ
n
)
]
[
a
0
a
1
⋮
a
n
]
=
[
(
φ
0
,
f
)
(
φ
1
,
f
)
⋮
(
φ
n
,
f
)
]
a_0(\varphi_k,\varphi_0)+\cdots+a_n(\varphi_k,\varphi_n)=(\varphi_k,f),k=0,1,\cdots,n\\ \left[\begin{matrix}(\varphi_0,\varphi_0)&(\varphi_0,\varphi_1)&\cdots&(\varphi_0,\varphi_n)\\(\varphi_1,\varphi_0)&(\varphi_1,\varphi_1)&\cdots&(\varphi_1,\varphi_n)\\\vdots&\vdots&&\vdots\\(\varphi_n,\varphi_0)&(\varphi_n,\varphi_1)&\cdots&(\varphi_n,\varphi_n)\end{matrix}\right] \left[\begin{matrix}a_0\\a_1\\\vdots\\a_n\end{matrix}\right]= \left[\begin{matrix}(\varphi_0,f)\\(\varphi_1,f)\\\vdots\\(\varphi_n,f)\end{matrix}\right]
a0(φk,φ0)+⋯+an(φk,φn)=(φk,f),k=0,1,⋯,n⎣⎢⎢⎢⎡(φ0,φ0)(φ1,φ0)⋮(φn,φ0)(φ0,φ1)(φ1,φ1)⋮(φn,φ1)⋯⋯⋯(φ0,φn)(φ1,φn)⋮(φn,φn)⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡a0a1⋮an⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡(φ0,f)(φ1,f)⋮(φn,f)⎦⎥⎥⎥⎤
解上述方程组即得到相应的最小二乘解:
φ
∗
(
x
)
=
a
0
∗
φ
0
(
x
)
+
a
1
∗
φ
1
(
x
)
+
⋯
+
a
n
∗
φ
n
(
x
)
\varphi^*(x)=a_0^*\varphi_0(x)+a_1^*\varphi_1(x)+\cdots+a_n^*\varphi_n(x)
φ∗(x)=a0∗φ0(x)+a1∗φ1(x)+⋯+an∗φn(x)
多项式拟合最小二乘法
取
φ
0
(
x
)
=
1
,
φ
1
(
x
)
=
x
,
⋯
,
φ
n
(
x
)
=
x
n
\varphi_0(x)=1,\varphi_1(x)=x,\cdots,\varphi_n(x)=x^n
φ0(x)=1,φ1(x)=x,⋯,φn(x)=xn,则可得
(
φ
j
,
φ
k
)
=
∑
i
=
1
m
x
i
j
x
i
k
=
∑
i
=
1
m
x
i
j
+
k
,
j
,
k
=
0
,
1
,
⋯
,
n
(
φ
i
,
f
)
=
∑
i
=
1
m
x
i
j
y
i
,
k
=
0
,
1
,
⋯
,
n
(\varphi_j,\varphi_k)=\sum_{i=1}^mx_i^jx_i^k=\sum_{i=1}^mx_i^{j+k},j,k=0,1,\cdots,n\\(\varphi_i,f)=\sum_{i=1}^mx_i^jy_i,k=0,1,\cdots,n
(φj,φk)=i=1∑mxijxik=i=1∑mxij+k,j,k=0,1,⋯,n(φi,f)=i=1∑mxijyi,k=0,1,⋯,n
方程组为:
[
m
∑
i
=
1
m
x
i
⋯
∑
i
=
1
m
x
i
n
∑
i
=
1
m
x
i
∑
i
=
1
m
x
i
2
⋯
∑
i
=
1
m
x
i
n
+
1
⋮
⋮
⋮
∑
i
=
1
m
x
i
n
∑
i
=
1
m
x
i
n
+
1
⋯
∑
i
=
1
m
x
i
2
n
]
[
a
0
a
1
⋮
a
n
]
=
[
∑
i
=
1
m
y
i
∑
i
=
1
m
x
i
y
i
⋮
∑
i
=
1
m
x
i
n
y
i
]
\left[\begin{matrix}m&\sum_{i=1}^mx_i&\cdots&\sum_{i=1}^mx_i^n\\\sum_{i=1}^mx_i&\sum_{i=1}^mx_i^2&\cdots&\sum_{i=1}^mx_i^{n+1}\\\vdots&\vdots&&\vdots\\\sum_{i=1}^mx_i^n&\sum_{i=1}^mx_i^{n+1}&\cdots&\sum_{i=1}^mx_i^{2n}\end{matrix}\right]\left[\begin{matrix}a_0\\a_1\\\vdots\\a_n\end{matrix}\right]=\left[\begin{matrix}\sum_{i=1}^my_i\\\sum_{i=1}^mx_iy_i\\\vdots\\\sum_{i=1}^mx_i^ny_i\end{matrix}\right]
⎣⎢⎢⎢⎡m∑i=1mxi⋮∑i=1mxin∑i=1mxi∑i=1mxi2⋮∑i=1mxin+1⋯⋯⋯∑i=1mxin∑i=1mxin+1⋮∑i=1mxi2n⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡a0a1⋮an⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡∑i=1myi∑i=1mxiyi⋮∑i=1mxinyi⎦⎥⎥⎥⎤
求最小二乘法解的步骤:
- 根据数据 ( x i , y i ) ( i = 1 , 2 , ⋯ , m ) (x_i,y_i)(i=1,2,\cdots,m) (xi,yi)(i=1,2,⋯,m),确定函数空间 Φ \Phi Φ 和基函数 φ 0 ( x ) , φ 1 ( x ) , ⋯ , φ n ( x ) \varphi_0(x),\varphi_1(x),\cdots,\varphi_n(x) φ0(x),φ1(x),⋯,φn(x);
- 根据 φ ( x ) \varphi(x) φ(x) 的特点,建立 a k ( k = 0 , 1 , ⋯ , n ) a_k(k=0,1,\cdots,n) ak(k=0,1,⋯,n) 的法方程组;
- 通过解法方程组求取最小二乘解 φ ∗ ( x ) \varphi^*(x) φ∗(x) 对应的参数 a k ∗ ( k = 0 , 1 , ⋯ , n ) a_k^*(k=0,1,\cdots,n) ak∗(k=0,1,⋯,n)。
思考题:用最小二乘原理,求超定线性方程组: { 2 x + 4 y = 11 3 x − 5 y = 3 x + 2 y = 6 2 x + y = 7 \begin{cases}2x+4y=11\\3x-5y=3\\x+2y=6\\2x+y=7\end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧2x+4y=113x−5y=3x+2y=62x+y=7,并给出均方误差。
解: { δ 1 = 2 x + 4 y − 11 δ 2 = 3 x − 5 y − 3 δ 3 = x + 2 y − 6 δ 4 = 2 x + y − 7 , S ( x , y ) = ∑ i = 1 4 δ i 2 → min \begin{cases}\delta_1=2x+4y-11\\\delta_2=3x-5y-3\\\delta_3=x+2y-6\\\delta_4=2x+y-7\end{cases},S(x,y)=\sum_{i=1}^4\delta_i^2\rightarrow\min ⎩⎪⎪⎪⎨⎪⎪⎪⎧δ1=2x+4y−11δ2=3x−5y−3δ3=x+2y−6δ4=2x+y−7,S(x,y)=∑i=14δi2→min
加权技巧的应用
对给定实验数据
(
x
i
,
y
i
)
(
i
=
1
,
2
,
⋯
,
m
)
(x_i,y_i)(i=1,2,\cdots,m)
(xi,yi)(i=1,2,⋯,m),寻求一个函数:
φ
∗
(
x
)
=
a
0
∗
φ
0
(
x
)
+
a
1
∗
φ
1
(
x
)
+
⋯
+
a
n
∗
φ
n
(
x
)
\varphi^*(x)=a_0^*\varphi_0(x)+a_1^*\varphi_1(x)+\cdots+a_n^*\varphi_n(x)
φ∗(x)=a0∗φ0(x)+a1∗φ1(x)+⋯+an∗φn(x),使:
∑
i
=
1
m
W
i
[
φ
∗
(
x
i
)
−
y
i
]
2
=
min
φ
(
x
)
∈
Φ
∑
i
=
1
m
W
i
[
φ
(
x
i
)
−
y
i
]
2
\sum_{i=1}^mW_i[\varphi^*(x_i)-y_i]^2=\min_{\varphi(x)\in\Phi}\sum_{i=1}^mW_i[\varphi(x_i)-y_i]^2
i=1∑mWi[φ∗(xi)−yi]2=φ(x)∈Φmini=1∑mWi[φ(xi)−yi]2
其中,
φ
(
x
)
=
a
0
φ
0
(
x
)
+
a
1
φ
1
(
x
)
+
⋯
+
a
n
φ
n
(
x
)
\varphi(x)=a_0\varphi_0(x)+a_1\varphi_1(x)+\cdots+a_n\varphi_n(x)
φ(x)=a0φ0(x)+a1φ1(x)+⋯+anφn(x),
W
i
W_i
Wi 是一列正数,称为权,它的大小反映了数据
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi) 地位的强弱。
可归结为求多元函数
S
(
a
0
,
a
1
,
⋯
,
a
n
)
=
∑
i
=
1
m
W
i
[
∑
k
=
0
n
a
k
φ
k
(
x
i
)
−
y
i
]
2
S(a_0,a_1,\cdots,a_n)=\sum_{i=1}^mW_i[\sum_{k=0}^na_k\varphi_k(x_i)-y_i]^2
S(a0,a1,⋯,an)=i=1∑mWi[k=0∑nakφk(xi)−yi]2
的极小点
(
a
0
∗
,
a
1
∗
,
⋯
,
a
n
∗
)
(a_0^*,a_1^*,\cdots,a_n^*)
(a0∗,a1∗,⋯,an∗)
特例:取 φ 0 ( x ) = 1 , φ 1 ( x ) = x , ⋯ , φ n ( x ) = x n \varphi_0(x)=1,\varphi_1(x)=x,\cdots,\varphi_n(x)=x^n φ0(x)=1,φ1(x)=x,⋯,φn(x)=xn,则可得法方程组
[ ∑ i = 1 m W i ∑ i = 1 m W i x i ⋯ ∑ i = 1 m W i x i n ∑ i = 1 m W i x i ∑ i = 1 m W i x i 2 ⋯ ∑ i = 1 m W i x i n + 1 ⋮ ⋮ ⋮ ∑ i = 1 m W i x i n ∑ i = 1 m W i x i n + 1 ⋯ ∑ i = 1 m W i x i 2 n ] [ a 0 a 1 ⋮ a n ] = [ ∑ i = 1 m W i y i ∑ i = 1 m W i x i y i ⋮ ∑ i = 1 m W i x i n y i ] \left[\begin{matrix}\sum_{i=1}^mW_i&\sum_{i=1}^mW_ix_i&\cdots&\sum_{i=1}^mW_ix_i^n\\\sum_{i=1}^mW_ix_i&\sum_{i=1}^mW_ix_i^2&\cdots&\sum_{i=1}^mW_ix_i^{n+1}\\\vdots&\vdots&&\vdots\\\sum_{i=1}^mW_ix_i^n&\sum_{i=1}^mW_ix_i^{n+1}&\cdots&\sum_{i=1}^mW_ix_i^{2n}\end{matrix}\right]\left[\begin{matrix}a_0\\a_1\\\vdots\\a_n\end{matrix}\right]=\left[\begin{matrix}\sum_{i=1}^mW_iy_i\\\sum_{i=1}^mW_ix_iy_i\\\vdots\\\sum_{i=1}^mW_ix_i^ny_i\end{matrix}\right] ⎣⎢⎢⎢⎡∑i=1mWi∑i=1mWixi⋮∑i=1mWixin∑i=1mWixi∑i=1mWixi2⋮∑i=1mWixin+1⋯⋯⋯∑i=1mWixin∑i=1mWixin+1⋮∑i=1mWixi2n⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡a0a1⋮an⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡∑i=1mWiyi∑i=1mWixiyi⋮∑i=1mWixinyi⎦⎥⎥⎥⎤