【数值分析】三次样条插值

三次样条插值

2023年11月5日
#analysis


文章目录

  • 三次样条插值
    • 1. 样条函数
        • 1.1 截断多项式
    • 2. 三次样条插值
        • 2.1 B样条为基底的三次样条插值函数
            • 2.1.1 第一种边界条件
            • 2.1.2 第二种边界条件
            • 2.1.3 第三种边界条件
        • 2.2 三弯矩法求三次样条插值函数
            • 2.2.1 第一种边界条件
            • 2.2.2 第二种边界条件
            • 2.2.3 第三种边界条件
    • 下链


1. 样条函数

样条函数即满足一定光滑性的分段多项式。
对区间 ( − ∞ , + ∞ ) {(-\infty,+\infty)} (,+) 的一个分割:
Δ : − ∞ < x 1 < x 2 < ⋯ < x n < + ∞ \Delta : -\inftyΔ:<x1<x2<<xn<+
分段函数 s ( x ) {s(x)} s(x) 满足条件:

  1. 在每个区间 ( − ∞ , x 1 ] , [ x j , x j + 1 ] ( j = 1 , ⋯   , n 1 ) {(-\infty,x_1],[x_j,x_{j+1}](j=1, \cdots ,n1)} (,x1],[xj,xj+1](j=1,,n1) [ x n , + ∞ ) {[x_n,+\infty)} [xn,+) 上, s ( x ) {s(x)} s(x) 是一个次数不超过 m {m} m 的实系数代数多项式。
  2. 光滑性要求: s ( x ) {s(x)} s(x) 在整个区间 ( − ∞ , + ∞ ) {(-\infty,+\infty)} (,+) 上具有直至 m − 1 {m-1} m1 阶的连续微商(导数)

则称 y = s ( x ) {y=s(x)} y=s(x) 为对应于分割 Δ { \Delta } Δ m {m} m 次样条函数, x 1 , x 2 , ⋯   , x n {x_1,x_2, \cdots ,x_n } x1,x2,,xn 为样条节点。
x 1 , x 2 , ⋯   , x n {x_1,x_2, \cdots ,x_n } x1,x2,,xn 为样条节点的 m {m} m 次样条函数的全体记为:
s m ( x 1 , x 2 , ⋯   , x n ) s_m(x_1,x_2, \cdots ,x_n) sm(x1,x2,,xn)
s ( x ) = { p 0 ( x ) , x ≤ x 1 p 1 ( x ) , x 1 ≤ x ≤ x 2 ⋮ p j ( x ) , x j ≤ x ≤ x j + 1 ⋮ p n ( x ) , x n ≤ x           ,    p j ( x ) ∈ P m ( j = 0 , 1 , ⋯   , n ) s(x)= \begin{cases} p_0(x)&,x\le x_1\\ p_1(x)&,x_1\le x\le x_2\\ &\vdots \\ p_j(x)&,x_j\le x\le x_{j+1}\\ & \vdots \\ p_n(x)&,x_n\le x \end{cases} \,\,\,\,\,\,\,\,\,,\,\, p_j(x)\in P_m(j=0,1,\cdots,n ) s(x)= p0(x)p1(x)pj(x)pn(x),xx1,x1xx2,xjxxj+1,xnx,pj(x)Pm(j=0,1,,n)
对样条函数而言,若令相邻两段函数的差:
q j ( x ) = p j ( x ) − p j − 1 ( x ) ∈ P m q_j(x)=p_j(x)-p_{j-1}(x)\in P_m qj(x)=pj(x)pj1(x)Pm
⇒ q j ( i ) ( x ) = p j ( i ) ( x ) − p j − 1 ( i ) ( x ) = 0    ,    i = 0 , 1 , ⋯   , m − 1 \Rightarrow q_j^{(i)}(x)=p_j^{(i)}(x)-p_{j-1}^{(i)}(x)=0 \,\,,\,\, i=0,1,\cdots,m-1 qj(i)(x)=pj(i)(x)pj1(i)(x)=0,i=0,1,,m1
⇒ q j ( x ) = c j ( x − x j ) m    ,    也叫做光滑因子 \Rightarrow q_j(x)=c_j(x-x_j)^m \,\,,\,\, \text{也叫做光滑因子} qj(x)=cj(xxj)m,也叫做光滑因子
x j {x_j} xj q j ( x ) {q_j(x)} qj(x) m {m} m 重根。所以如果函数是样条函数,则相邻两段函数满足:
p j ( x ) = p j − 1 ( x ) + c j ( x − x j ) m    ,    j = 0 , 1 , ⋯   , n p_j(x)=p_{j-1}(x)+c_j(x-x_j)^m \,\,,\,\, j=0,1,\cdots,n pj(x)=pj1(x)+cj(xxj)m,j=0,1,,n
所以s(x)是m次样条的充要条件
p 0 ( x ) = a 0 + a 1 x + ⋯ + a m x m p n ( x ) = p 0 ( x ) + ∑ j = 1 n c j ( x − x j ) m \begin{align*} p_0(x)=&a_0+a_1x+ \cdots +a_mx^m \\ \\ p_n(x)=&p_0(x)+ \sum_{j=1}^{ n}c_j(x-x_j)^m \end{align*} p0(x)=pn(x)=a0+a1x++amxmp0(x)+j=1ncj(xxj)m

1.1 截断多项式

为了方便表示分段信息,引进截断多项式:
( x − a ) + m = { ( x − a ) m , x ≥ a 0 , x < a (x-a)_+^m= \begin{cases} (x-a)^m &,x\ge a\\ \\ 0&,x(xa)+m= (xa)m0,xa,x<a
显然 ( x − a ) + m {(x-a)_+^m} (xa)+m ( − ∞ , + ∞ ) {(-\infty,+\infty)} (,+) m − 1 {m-1} m1 次连续可微函数的集合( C m − 1 ( − ∞ , + ∞ ) { \mathbb C^{m-1}(-\infty,+\infty)} Cm1(,+) 类的分段 m {m} m 次多项式)。
使用阶段多项式表示样条函数有:任意 s ( x ) ∈ S m ( x 1 , x 2 , ⋯   , x n ) {s(x)\in S_m(x_1,x_2, \cdots ,x_n)} s(x)Sm(x1,x2,,xn) c j ∈ R {{c_j\in \mathbb R} } cjR 均可唯一地表示为:
s ( x ) = p m ( x ) + ∑ j = 1 n c j ( x − x j ) + m    ,    − ∞ < x < + ∞ s(x)= p_m(x)+ \sum_{j=1}^{ n} c_j(x-x_j)_+^m \,\,,\,\, -\inftys(x)=pm(x)+j=1ncj(xxj)+m,<x<+
样条函数的基底:
S m = span { 1 , x , ⋯   , x m , ( x − x 1 ) + m , ( x − x 2 ) + m , ⋯   , ( x − x n ) + m } S_m= \text{span} \lbrace 1,x,\cdots ,x^m,(x-x_1)_+^m,(x-x_2)_+^m,\cdots ,(x-x_n)_+^m \rbrace Sm=span{1,x,,xm,(xx1)+m,(xx2)+m,,(xxn)+m}
dim ( S m ) = m + n + 1 \text{dim} (S_m)=m+n+1 dim(Sm)=m+n+1

[!example]-
验证分片多项式是三次样条函数
s ( x ) = { 1 − 2 x , x < − 3 28 + 25 x + 9 x 2 + x 3 , − 3 ≤ x < − 1 26 + 19 x + 3 x 2 − x 3 , − 1 ≤ x < 0 26 + 19 x + 3 x 2 , 0 ≤ x s(x)= \begin{cases} 1-2x &,x<-3\\ 28+25x+9x^2+x^3&,-3\le x<-1 \\ 26+19x+3x^2-x^3&, -1\le x<0\\ 26+19x+3x^2&,0\le x \end{cases} s(x)= 12x28+25x+9x2+x326+19x+3x2x326+19x+3x2,x<3,3x<1,1x<0,0x
解:利用光滑因子验证。
( 28 x + 25 x + 9 x 2 + x 3 ) − ( 1 − 2 x ) = ( x + 3 ) 3 (28x+25x+9x^2+x^3)-(1-2x)=(x+3)^3 (28x+25x+9x2+x3)(12x)=(x+3)3
( 26 + 19 x + 3 x 2 − x 3 ) − ( 28 + 25 x + 9 x 2 + x 3 ) = − 2 ( x + 1 ) 3 (26+19x+3x^2-x^3)-(28+25x+9x^2+x^3)=-2(x+1)^3 (26+19x+3x2x3)(28+25x+9x2+x3)=2(x+1)3
( 26 + 19 x + 3 x 2 ) − ( 26 + 19 x + 3 x 2 − x 3 ) = x 3 (26+19x+3x^2)-(26+19x+3x^2-x^3)=x^3 (26+19x+3x2)(26+19x+3x2x3)=x3
该函数为三次样条函数。
光滑因子的零点是已知的,即为边界,光滑因子的常数项只需看等式左边最高次多项式的系数就能得到。之后把右边的多项式展开,看是不是和左边的相等就行。


2. 三次样条插值

设给定节点 a = x 0 < x 1 < ⋯ < x n = b {a=x_0a=x0<x1<<xn=b ,及节点上的函数值
f ( x i ) = y i    ,    i = 0 , 1 , ⋯   , n f(x_i)=y_i \,\,,\,\, i=0,1,\cdots,n f(xi)=yi,i=0,1,,n
节点是中间的点!头尾点不是!三次样条问题就是构造 s ( x ) ∈ S 3 ( x 1 , x 2 , ⋯   , x n − 1 ) {s(x)\in S_3(x_1,x_2,\cdots ,x_{n-1})} s(x)S3(x1,x2,,xn1) 满足插值条件
s ( x i ) = y i    ,    i = 0 , 1 , ⋯   , n s(x_i)=y_i \,\,,\,\, i=0,1,\cdots,n s(xi)=yi,i=0,1,,n
且有一定光滑性。
边界条件分类

  1. 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′′ ,当 y 0 ′ ′ = y n ′ ′ = 0 {y_0''=y_n''=0} y0′′=yn′′=0 ,为自然样条/自然边界
  2. 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
  3. s ′ ( x 0 + ) = s ′ ( x n − )    ,    s ′ ′ ( x 0 + ) = s ′ ′ ( x n − ) {s'(x_0^+)=s'(x_n^-) \,\,,\,\, s''(x_0^+)=s''(x_n^-)} s(x0+)=s(xn),s′′(x0+)=s′′(xn) 起始点和终止点导数相等,适用于周期函数
2.1 B样条为基底的三次样条插值函数

[ a , b ] {[a,b]} [a,b] 进行 n {n} n 等分 时候的情况
s ( x ) = ∑ j = 0 n + 2 c j Ω 3 ( x − x j − 1 h )    ,    a ≤ x ≤ b    ,    h = b − a n s(x)= \sum_{j=0}^{ n+2}c_j \Omega_3(\frac{x-x_{j-1}}{h}) \,\,,\,\, a\le x\le b \,\,,\,\, h= \frac{b-a}{n} s(x)=j=0n+2cjΩ3(hxxj1),axb,h=nba
其中B样条函数
$$
\Omega_3 (y)= \begin{cases}
0 &, |y|\ge2 \\
\frac{1}{2}|y|3-y2+ \frac{2}{3}&,|y|\le1 \ \

  • \frac{1}{6} |y|3+y2-2|y|+ \frac{4}{3} &, 1<|y|<2
    \end{cases}
    $$
    关键在于求 c j {c_j} cj
2.1.1 第一种边界条件

对第一种边界条件,有三对角矩阵方程组:
[ 4 1 0 ⋯ 0 1 4 1 ⋯ 0 ⋮ ⋱ ⋱ ⋱ ⋮ 0 ⋯ 1 4 1 0 ⋯ 0 1 4 ] [ c 2 c 3 ⋮ c n − 1 c n ] = [ 6 y 1 − y 0 + h 2 6 y 0 ′ ′ 6 y 2 6 y 3 ⋮ 6 y n − 1 6 y n − 1 − y n + h 2 6 y n ′ ′ ] \begin{bmatrix} 4 & 1 & 0 & \cdots & 0 \\ 1 & 4 & 1 & \cdots & 0 \\ \vdots & \ddots & \ddots & \ddots & \vdots \\ 0 & \cdots & 1 & 4 & 1 \\ 0 & \cdots & 0 & 1 & 4 \end{bmatrix}\begin{bmatrix} c_2 \\c_3\\ \vdots \\c_{n-1}\\c_n \end{bmatrix}= \begin{bmatrix} 6y_1-y_0+ \frac{h^2}{6}y_0''\\ 6y_2\\ 6y_3 \\ \vdots \\6y_{n-1}\\6y_{n-1}-y_n+ \frac{h^2}{6}y_n'' \end{bmatrix} 4100140110410014 c2c3cn1cn = 6y1y0+6h2y0′′6y26y36yn16yn1yn+6h2yn′′
{ c 0 = 2 c 1 − c 2 + h 2 y 0 ′ ′ c 1 = y 0 − h 2 6 y 0 ′ ′ c n + 1 = y n − h 2 6 y n ′ ′ c n + 2 = 6 c n − 1 − c n + h 2 y n ′ ′ \begin{cases} c_0=2c_1-c_2+h^2y_0'' \\ \\ c_1=y_0- \frac{h^2}{6}y_0'' \\ \\ c_{n+1}=y_n- \frac{h^2}{6}y_n''\\ \\ c_{n+2}=6c_{n-1}-c_n+ h^2y_n'' \end{cases} c0=2c1c2+h2y0′′c1=y06h2y0′′cn+1=yn6h2yn′′cn+2=6cn1cn+h2yn′′
求出所有式子后带入B样条为基底的样条函数就得到了样条插值函数。

2.1.2 第二种边界条件

[ 4 2 0 ⋯ 0 1 4 1 ⋯ 0 ⋮ ⋱ ⋱ ⋱ ⋮ 0 ⋯ 1 4 1 0 ⋯ 0 2 4 ] [ c 1 c 2 ⋮ c n c n + 1 ] = [ 6 y 0 + 2 h y 0 ′ 6 y 1 6 y 2 ⋮ 6 y n − 1 6 y n − 2 h y n ] \begin{bmatrix} 4 & 2 & 0 & \cdots & 0 \\ 1 & 4 & 1 & \cdots & 0 \\ \vdots & \ddots & \ddots & \ddots & \vdots \\ 0 & \cdots & 1 & 4 & 1 \\ 0 & \cdots & 0 & 2 & 4 \end{bmatrix}\begin{bmatrix} c_1 \\ c_2\\ \vdots \\c_{n}\\c_{n+1} \end{bmatrix}= \begin{bmatrix} 6y_0+ 2hy_0'\\ 6y_1\\ 6y_2 \\ \vdots \\6y_{n-1}\\6y_{n}-2hy_n \end{bmatrix} 4100240110420014 c1c2cncn+1 = 6y0+2hy06y16y26yn16yn2hyn
{ c 0 = c 2 − 2 h y 0 ′ c n + 2 = c n + 2 h y n ′ \begin{cases} c_0=c_2-2hy_0' \\ \\ c_{n+2}=c_n+2hy_n' \end{cases} c0=c22hy0cn+2=cn+2hyn

2.1.3 第三种边界条件

[ 4 1 0 ⋯ 1 1 4 1 ⋯ 0 ⋮ ⋱ ⋱ ⋱ ⋮ 0 ⋯ 1 4 1 1 ⋯ 0 1 4 ] [ c 2 c 3 ⋮ c n c n + 1 ] = [ 6 y 1 6 y 2 6 y 3 ⋮ 6 y n − 1 6 y n ] \begin{bmatrix} 4 & 1 & 0 & \cdots & 1 \\ 1 & 4 & 1 & \cdots & 0 \\ \vdots & \ddots & \ddots & \ddots & \vdots \\ 0 & \cdots & 1 & 4 & 1 \\ 1 & \cdots & 0 & 1 & 4 \end{bmatrix}\begin{bmatrix} c_2 \\c_3\\ \vdots \\c_{n}\\c_{n+1} \end{bmatrix}= \begin{bmatrix} 6y_1\\ 6y_2\\ 6y_3 \\ \vdots \\6y_{n-1}\\6y_{n} \end{bmatrix} 4101140110411014 c2c3cncn+1 = 6y16y26y36yn16yn
{ c n + 2 = c 2 c 1 = c n + 1 c 0 = c n \begin{cases} c_{n+2}=c_2 \\ \\ c_1=c_{n+1} \\ \\ c_0=c_n \end{cases} cn+2=c2c1=cn+1c0=cn

[!example]-
x ∣ ∣ x 0 = 1 ∣ x 1 = 2 ∣ x 2 = 3 ∣ = = = = = = = = f ( x ) ∣ ∣ 2 ∣ 4 ∣ 8 ∣ − − − − − − − − f ′ ( x ) ∣ ∣ 1.3863 ∣ ∣ 5.5452 ∣ \begin{array}{cccccc} x&||& x_0=1 &|& x_1=2 &|& x_2=3 &| \\=&=&=&=&=&=&=&= \\ f(x) &||& 2 &|& 4 &|& 8 &| \\ -&-&-&-&-&-&-&- \\ f'(x) &||& 1.3863 &|& &|& 5.5452 &| \end{array} x=f(x)f(x)∣∣=∣∣∣∣x0=1=21.3863=x1=2=4=x2=3=85.5452=
求三次样条插值函数。使其满足 s ( x i ) = f ( x i )    ,    s ′ ( x 0 ) = f ′ ( x 0 )    ,    s ′ ( x 2 ) = f ′ ( x 2 ) {s(x_i)=f(x_i) \,\,,\,\, s'(x_0)=f'(x_0) \,\,,\,\, s'(x_2)=f'(x_2)} s(xi)=f(xi),s(x0)=f(x0),s(x2)=f(x2)
解:边界条件二,区间上被分成两段, n = 2 {n=2} n=2
[ 4 2 0 1 4 1 0 2 4 ] [ c 1 c 2 c 3 ] = [ 6 y 0 + 2 h y 0 ′ 6 y 1 6 y 2 − 2 h y 2 ′ ] = [ 14.7726 24 36.9096 ] \begin{bmatrix} 4 & 2 & 0 \\ 1 & 4 & 1 \\ 0 & 2 & 4 \end{bmatrix}\begin{bmatrix} c_1\\c_2\\c_3 \end{bmatrix}= \begin{bmatrix} 6y_0+2hy_0'\\6y_1\\6y_2-2hy_2' \end{bmatrix}= \begin{bmatrix} 14.7726\\24\\36.9096 \end{bmatrix} 410242014 c1c2c3 = 6y0+2hy06y16y22hy2 = 14.77262436.9096
[ c 1 c 2 c 3 ] = [ 1.84657 3.69317 7.38081 ] \begin{bmatrix} c_1\\c_2\\c_3 \end{bmatrix}= \begin{bmatrix} 1.84657\\3.69317\\7.38081 \end{bmatrix} c1c2c3 = 1.846573.693177.38081

c 0 = c 2 − 2 h y 0 ′ = 0.92057 c_0=c_2-2hy_0'=0.92057 c0=c22hy0=0.92057
c 4 = c 2 + 2 h y 2 ′ = 14.7836 c_4=c_2+2hy_2'=14.7836 c4=c2+2hy2=14.7836
∴ s ( x ) = 0.92057 Ω 3 ( x − 0 ) + 1.84657 Ω 3 ( x − 1 ) + 3.69317 Ω 3 ( x − 2 ) + 7.38081 Ω 3 ( x − 3 ) + 14.7836 Ω 3 ( x − 4 ) 1 ≤ x ≤ 3 \begin{align*} \therefore s(x)=&0.92057\Omega_3(x-0)+1.84657\Omega_3(x-1)\\ &+3.69317\Omega_3(x-2)+7.38081\Omega_3(x-3)+14.7836\Omega_3(x-4)\\ &1\le x\le 3 \end{align*} s(x)=0.92057Ω3(x0)+1.84657Ω3(x1)+3.69317Ω3(x2)+7.38081Ω3(x3)+14.7836Ω3(x4)1x3

2.2 三弯矩法求三次样条插值函数

用于 区间长度 h {h} h 不一致的情况
s ( x ) = M i − 1 6 h i ( x i − x ) 3 + M i 6 h i ( x − x i − 1 ) 3 + ( y i − 1 h i − M i − 1 6 h i ) ( x i − x ) + ( y i h i − M i 6 h i ) ( x − x i ) x i − 1 ≤ x ≤ x i    ,    i = 1 , 2 , ⋯   , n \begin{align*} s(x)=& \frac{M_{i-1}}{6h_i}(x_i-x)^3+ \frac{M_i}{6h_i}(x-x_{i-1})^3\\&+(\frac{y_{i-1}}{h_i}- \frac{M_{i-1}}{6}h_i)(x_i-x)+(\frac{y_i}{h_i}- \frac{M_i}{6}h_i)(x-x_i)\\ &x_{i-1}\le x\le x_i \,\,,\,\, i=1,2, \cdots ,n \end{align*} s(x)=6hiMi1(xix)3+6hiMi(xxi1)3+(hiyi16Mi1hi)(xix)+(hiyi6Mihi)(xxi)xi1xxi,i=1,2,,n
关键在求M。三弯矩方程
r i M i − 1 + 2 M i + α i M i + 1 = β i    ,    i = 1 , 2 , ⋯   , n − 1 r_iM_{i-1}+2M_i+ \alpha_iM_{i+1}= \beta_i \,\,,\,\, i=1,2,\cdots ,n-1 riMi1+2Mi+αiMi+1=βi,i=1,2,,n1
α i = h i + 1 h i + h i + 1    ,    r i = 1 − α i \alpha_i= \frac{h_{i+1}}{h_i+h_{i+1}} \,\,,\,\, r_i=1- \alpha_i αi=hi+hi+1hi+1,ri=1αi
β i = 6 h i + h i + 1 ( y i + 1 − y i h i + 1 − y i − y i − 1 h i ) \beta_i= \frac{6}{h_i+h_{i+1}} \bigg( \frac{y_{i+1}-y_i}{h_{i+1}}- \frac{y_i-y_{i-1}}{h_i} \bigg) βi=hi+hi+16(hi+1yi+1yihiyiyi1)
可以求得
α 1 ⋯ α n − 1    ,    r 1 ⋯ r n − 1    ,    β 1 ⋯ β n − 1 \alpha_1 \cdots \alpha_{n-1} \,\,,\,\, r_1 \cdots r_{n-1} \,\,,\,\, \beta_1 \cdots \beta_{n-1} α1αn1,r1rn1,β1βn1

2.2.1 第一种边界条件

α 0 = 0    ,    β 0 = 2 y 0 ′ ′    ,    r n = 0    ,    β n = 2 y n ′ ′ \alpha_0=0 \,\,,\,\, \beta_0=2y_0'' \,\,,\,\, r_n=0 \,\,,\,\, \beta_n=2y_n'' α0=0,β0=2y0′′,rn=0,βn=2yn′′

[ 2 α 0 r 1 2 α 1 ⋱ r n − 1 2 α n − 1 r n 2 ] [ M 0 M 1 ⋮ M n − 1 M n ] = [ β 0 β 1 ⋮ β n − 1 β n ] \begin{bmatrix} 2 & \alpha_0 & & & \\ r_1 & 2 & \alpha_1 & & \\ & & \ddots & & \\ & & r_{n-1} & 2 & \alpha_{n-1} \\ & & & r_n & 2 \end{bmatrix}\begin{bmatrix} M_0\\M_1\\ \vdots \\M_{n-1}\\ M_n \end{bmatrix}= \begin{bmatrix} \beta_0\\ \beta_1\\ \vdots \\ \beta_{n-1}\\ \beta_n \end{bmatrix} 2r1α02α1rn12rnαn12 M0M1Mn1Mn = β0β1βn1βn
可得 M 0 , M 1 , ⋯   , M n {M_0,M_1, \cdots , M_n} M0,M1,,Mn

2.2.2 第二种边界条件

α 0 = 1    ,    r n = 1 \alpha_0=1 \,\,,\,\, r_n=1 α0=1,rn=1
β 0 = 6 h 1 ( y 1 − y 0 h 1 − y 0 ′ )    ,    β n = 6 h n ( y n ′ − y n − y n − 1 h n ) \beta_0= \frac{6}{h_1}(\frac{y_1-y_0}{h_1}-y_0') \,\,,\,\, \beta_n= \frac{6}{h_n} (y_n'-\frac{y_n-y_{n-1}}{h_n}) β0=h16(h1y1y0y0),βn=hn6(ynhnynyn1)
代入的矩阵式子和第一种边界条件的式子相同。求得 M 0 {M_0} M0 M n {M_n} Mn

2.2.3 第三种边界条件

M 0 = M n    ,    α n = h 1 h 1 + h n    ,    r n = 1 − α n M_0=M_n \,\,,\,\, \alpha_n= \frac{h_1}{h_1+h_n} \,\,,\,\, r_n=1- \alpha_n M0=Mn,αn=h1+hnh1,rn=1αn
β n = 6 h 1 + h n ( y 1 − y 0 h 1 − y n − y n − 1 h n ) \beta_n = \frac{6}{h_1+h_n}(\frac{y_1-y_0}{h_1}- \frac{y_n-y_{n-1}}{h_n}) βn=h1+hn6(h1y1y0hnynyn1)
[ 2 α 1 r 1 r 2 2 α 2 ⋱ r n − 1 2 α n − 1 α n r n 2 ] [ M 1 M 1 ⋮ M n − 1 M n ] = [ β 1 β 1 ⋮ β n − 1 β n ] \begin{bmatrix} 2 & \alpha_1 & & & r_1 \\ r_2 & 2 & \alpha_2 & & \\ & & \ddots & & \\ & & r_{n-1} & 2 & \alpha_{n-1} \\ \alpha_n & & & r_n & 2 \end{bmatrix}\begin{bmatrix} M_1\\M_1\\ \vdots \\M_{n-1}\\ M_n \end{bmatrix}= \begin{bmatrix} \beta_1\\ \beta_1\\ \vdots \\ \beta_{n-1}\\ \beta_n \end{bmatrix} 2r2αnα12α2rn12rnr1αn12 M1M1Mn1Mn = β1β1βn1βn


下链


你可能感兴趣的:(数值分析,数值分析,三次样条插值)