数值分析(5)-分段低次插值和样条插值

    xiaoxiao2023-10-03  196

    整理一下数值分析的笔记~ 目录:

    1. 误差
    2. 多项式插值与样条插值(THIS)
    3. 函数逼近
    4. 数值积分与数值微分
    5. 线性方程组的直接解法
    6. 线性方程组的迭代解法
    7. 非线性方程求根
    8. 特征值和特征向量的计算
    9. 常微分方程初值问题的数值解

    1. 分段低次插值

    1.1 高次插值的龙格现象

      龙格现象就是插值多项式不收敛现象,节点(插值多项式的次数)增加不会带来精度的改善,甚至可能增加误差。

    1.2 分段低次插值

      插值时先把整个区间分成若干个小区间,每个区间上作低次插值,拼一个分段函数作插值函数。优点诸多但是缺点时节点处导数值不连续,这就产生了样条插值。

    2. 三次样条插值

    2.1 样条曲线的特点

    点点通过 → \rarr → 插值

    光顺

    计算简单

    (对于低阶样条)保凸

    2.2 三次样条

    定义:设 a = x 0 < x 1 < . . . < x n = b a=x_0 < x_1<...<x_n=b a=x0​<x1​<...<xn​=b,函数 S ( x ) ∈ C 2 [ a , b ] S(x) \in C^2[a,b] S(x)∈C2[a,b],且在每个 [ x i , x i + 1 ] [x_i,x_{i+1}] [xi​,xi+1​]上为三次多项式,同时满足 S ( x i ) = f ( x i ) , ( i = 0 , 1 , . . . , n ) S(x_i)=f(x_i),(i=0,1,...,n) S(xi​)=f(xi​),(i=0,1,...,n),则称f为三次样条插值函数。

    {三次样条与分段Hermite插值的根本区别在于其自身光滑除了端点外不需要知道f的导数值}

    若S为f的三次样条插值函数:

    S ( x ) = { S 1 ( x ) , x ∈ [ x 0 , x 1 ] S 2 ( x ) , x ∈ [ x 1 , x 2 ] . . . S n ( x ) , x ∈ [ x n − 1 , x n ] S(x)=\begin{cases} S_1(x),&x \in [x_0,x_1]\\ S_2(x),&x \in [x_1,x_2] \\ ...\\ S_n(x), &x \in [x_{n-1},x_n] \end{cases} S(x)=⎩⎪⎪⎪⎨⎪⎪⎪⎧​S1​(x),S2​(x),...Sn​(x),​x∈[x0​,x1​]x∈[x1​,x2​]x∈[xn−1​,xn​]​

    则 S i ( x ) = a i 0 + a i 1 x + a i 2 x 2 + a i 3 x 3 , i = 1 , 2 , . . . , n S_i(x)=a_{i0}+a_{i1}x+a_{i2}x^2+a_{i3}x^3,i=1,2,...,n Si​(x)=ai0​+ai1​x+ai2​x2+ai3​x3,i=1,2,...,n,也就是共有4n个待定系数,而已知条件只有4n-2个,即:

    i = 0 , 1 , 2 , . . . , n 时 , S ( x i ) = f ( x i ) i = 1 , 2 , . . . , n − 1 时 , S ( x i − ) = S ( x i + ) , S ′ ( x i − ) = S ′ ( x i + ) , S ′ ′ ( x i − ) = S ′ ′ ( x i + ) i=0,1,2,...,n时,S(x_i)=f(x_i)\\ i=1,2,...,n-1时,S(x_i^-)=S(x_i^+),\\S'(x_i^-)=S'(x_i^+),\\S''(x_i^-)=S''(x_i^+) i=0,1,2,...,n时,S(xi​)=f(xi​)i=1,2,...,n−1时,S(xi−​)=S(xi+​),S′(xi−​)=S′(xi+​),S′′(xi−​)=S′′(xi+​)

    还需要两个才能确定最终的系数,通常是在区间端点a,b上各加一个条件即边界条件,由实际问题给出,常用的有三种类型:

    给定两端点f(x)的一阶导数值 S ′ ( x 0 ) = f ′ ( x 0 ) , S ′ ( x n ) = f ′ ( x n ) S'(x_0)=f'(x_0),S'(x_n)=f'(x_n) S′(x0​)=f′(x0​),S′(xn​)=f′(xn​)

    给定两端点f(x)的二阶导数值 S ′ ′ ( x 0 ) = f ′ ′ ( x 0 ) , S ′ ′ ( x n ) = f ′ ′ ( x n ) S''(x_0)=f''(x_0),S''(x_n)=f''(x_n) S′′(x0​)=f′′(x0​),S′′(xn​)=f′′(xn​)

    f具有周期性,即: 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'(x_0^+)=S'(x_n^-),S''(x_0^+)=S''(x_n^-) S(x0+​)=S(xn−​),S′(x0+​)=S′(xn−​),S′′(x0+​)=S′′(xn−​)

    但是通过4n个方程得到4n个待定参数也只是理论上可行,实际计算量太大,由此提出两种简单的构造方法:

    2.3 三转角法(从样条函数的一阶导数出发)

    假定 S ′ ( x j ) = m j ( j = 0 , . . . , n ) S'(x_j)=m_j(j=0,...,n) S′(xj​)=mj​(j=0,...,n),根据分段三次埃尔米特插值多项式:

    S ( x ) = ∑ j = 0 n [ f j α j ( x ) + m j β j ( x ) ] , 其 中 α j ( x ) 和 β j ( x ) 为 三 次 埃 尔 米 塔 插 值 基 函 数 S(x)=\sum_{j=0}^n[f_j\alpha_j(x)+m_j\beta_j(x)],\\ 其中\alpha_j(x)和\beta_j(x)为三次埃尔米塔插值基函数 S(x)=j=0∑n​[fj​αj​(x)+mj​βj​(x)],其中αj​(x)和βj​(x)为三次埃尔米塔插值基函数

    由插值条件,连续性条件和边界条件可得关于 m j m_j mj​的三对角方程组,求出 m j m_j mj​,得到三次样条插值函数。

    2.4 三弯矩法(从样条函数的二阶导数出发)

    S在 [ x i − 1 , x i ] [x_{i-1},x_i] [xi−1​,xi​]上为三次多项式,所以其二阶导数必为一次式。

    设S(x)在节点 x i x_i xi​处的二阶导数为: S ′ ′ ( x i ) = M i ( i = 0 , 1 , . . . , n ) S''(x_i)=M_i(i=0,1,...,n) S′′(xi​)=Mi​(i=0,1,...,n),则 s ′ ′ ( x ) s''(x) s′′(x)在此小区间上是x的线性函数,且因为 S ′ ′ ( x i − 1 ) = M i − 1 , S ′ ′ ( x i ) = M i S''(x_{i-1})=M_{i-1},S''(x_{i})=M_{i} S′′(xi−1​)=Mi−1​,S′′(xi​)=Mi​,用线性插值可得:

    S i ′ ′ ( x ) = M i − 1 x − x i x i − 1 − x i + M i x − x i − 1 x i − x i − 1 , x ∈ [ x i − 1 , x i ] 记 h i = x i − x i − 1 , 有 S ′ ′ ( x ) = M i − 1 x i − x h i + M i x − x i − 1 h i 连 续 两 次 积 分 得 S i ( x ) = M i − 1 ( x i − x ) 3 6 h i + M i ( x − x i − 1 ) 3 6 h i + A i ( x i − x ) + B i ( x − x i − 1 ) 由 于 S i ( x i − 1 ) = f ( x i − 1 ) = y i − 1 且 S i ( x i ) = f ( x i ) = y i 得 : S i ( x i − 1 ) = 1 6 M i − 1 h i 2 + A i h i = y i − 1 S i ( x i ) = 1 6 M i h i 2 + B i h i = y i 得 : A i = 1 h i ( y i − 1 + 1 6 M i − 1 h i 2 ) B i = 1 h i ( y i + 1 6 M i h i 2 ) 代 入 得 : S i ( x ) = M i − 1 ( x i − x ) 3 6 h i + M i ( x − x i − 1 ) 3 6 h i + 1 h i ( y i − 1 + 1 6 M i − 1 h i 2 ) ( x i − x ) + 1 h i ( y i + 1 6 M i h i 2 ) ( x − x i − 1 ) , x ∈ [ x i − 1 , x i ] 其 中 M 0 , M − 1 , . . . , M n 是 待 求 的 常 数 , 可 利 用 S ′ ( x i − 0 ) = S ′ ( x i + 0 ) 求 出 M i S_i''(x)=M_{i-1}\frac{x-x_i}{x_{i-1}-x_i}+\\ M_i\frac{x-x_{i-1}}{x_i-x_{i-1}},x \in [x_{i-1},x_i]\\ 记h_i=x_i-x_{i-1},有\\ S''(x)=M_{i-1}\frac{x_i-x}{h_i}+M_i\frac{x-x_{i-1}}{h_i}\\ 连续两次积分得\\ S_i(x)=M_{i-1}\frac{(x_i-x)^3}{6h_i}+M_i\frac{(x-x_{i-1})^3}{6h_i}+\\A_i(x_i-x)+B_i(x-x_{i-1})\\ 由于S_i(x_{i-1})=f(x_{i-1})=y_{i-1}且\\S_i(x_i)=f(x_i)=y_i\\ 得:S_i(x_{i-1})=\frac{1}{6}M_{i-1}h^2_i+A_ih_i=y_{i-1}\\S_i(x_i)=\frac{1}{6}M_ih_i^2+B_ih_i=y_i\\ 得:A_i=\frac{1}{h_i}\left(y_{i-1}+\frac{1}{6}M_{i-1}h_i^2\right)\\ B_i=\frac{1}{h_i}\left(y_{i}+\frac{1}{6}M_{i}h_i^2\right)\\ 代入得:\\ S_i(x)=M_{i-1}\frac{(x_i-x)^3}{6h_i}+M_i\frac{(x-x_{i-1})^3}{6h_i}+\\\frac{1}{h_i}\left(y_{i-1}+\frac{1}{6}M_{i-1}h_i^2\right)(x_i-x)+\\\frac{1}{h_i}\left(y_{i}+\frac{1}{6}M_{i}h_i^2\right)(x-x_{i-1}),x\in[x_{i-1},x_i]\\ 其中M_0,M-1,...,M_n是待求的常数,\\可利用S'(x_i-0)=S'(x_i+0)求出M_i Si′′​(x)=Mi−1​xi−1​−xi​x−xi​​+Mi​xi​−xi−1​x−xi−1​​,x∈[xi−1​,xi​]记hi​=xi​−xi−1​,有S′′(x)=Mi−1​hi​xi​−x​+Mi​hi​x−xi−1​​连续两次积分得Si​(x)=Mi−1​6hi​(xi​−x)3​+Mi​6hi​(x−xi−1​)3​+Ai​(xi​−x)+Bi​(x−xi−1​)由于Si​(xi−1​)=f(xi−1​)=yi−1​且Si​(xi​)=f(xi​)=yi​得:Si​(xi−1​)=61​Mi−1​hi2​+Ai​hi​=yi−1​Si​(xi​)=61​Mi​hi2​+Bi​hi​=yi​得:Ai​=hi​1​(yi−1​+61​Mi−1​hi2​)Bi​=hi​1​(yi​+61​Mi​hi2​)代入得:Si​(x)=Mi−1​6hi​(xi​−x)3​+Mi​6hi​(x−xi−1​)3​+hi​1​(yi−1​+61​Mi−1​hi2​)(xi​−x)+hi​1​(yi​+61​Mi​hi2​)(x−xi−1​),x∈[xi−1​,xi​]其中M0​,M−1,...,Mn​是待求的常数,可利用S′(xi​−0)=S′(xi​+0)求出Mi​

    由于:

    S i ( x ) = M i − 1 ( x i − x ) 3 6 h i + M i ( x − x i − 1 ) 3 6 h i + 1 h i ( y i − 1 + 1 6 M i − 1 h i 2 ) ( x i − x ) + 1 h i ( y i + 1 6 M i h i 2 ) ( x − x i − 1 ) , x ∈ [ x i − 1 , x i ] 求 导 , S i ′ ( x ) = − M i − 1 ( x i − x ) 2 2 h i + M i ( x − x i − 1 ) 2 2 h i + ( y i − y i − 1 ) h i + h i 6 ( M i − M i − 1 ) S_i(x)=M_{i-1}\frac{(x_i-x)^3}{6h_i}+M_i\frac{(x-x_{i-1})^3}{6h_i}+\\ \frac{1}{h_i}\left(y_{i-1}+\frac{1}{6}M_{i-1}h_i^2\right)(x_i-x)+\\\frac{1}{h_i}\left(y_{i}+\frac{1}{6}M_{i}h_i^2\right)(x-x_{i-1}),x\in[x_{i-1},x_i]\\ 求导,S_i'(x)=-M_{i-1}\frac{(x_i-x)^2}{2h_i}+M_i\frac{(x-x_{i-1})^2}{2h_i}+\\\frac{(y_i-y_{i-1})}{h_i}+\frac{h_i}{6}(M_i-M_{i-1}) Si​(x)=Mi−1​6hi​(xi​−x)3​+Mi​6hi​(x−xi−1​)3​+hi​1​(yi−1​+61​Mi−1​hi2​)(xi​−x)+hi​1​(yi​+61​Mi​hi2​)(x−xi−1​),x∈[xi−1​,xi​]求导,Si′​(x)=−Mi−1​2hi​(xi​−x)2​+Mi​2hi​(x−xi−1​)2​+hi​(yi​−yi−1​)​+6hi​​(Mi​−Mi−1​)

    由此得:

    S i ′ ( x i − 0 ) = h i 6 M i − 1 + h i 3 M i + y i − y i − 1 h i S i ′ ( x i − 1 + 0 ) = − h i 3 M i − 1 − h i 6 M i + y i − y i − 1 h i 得 S i + 1 ′ ( x i + 0 ) = − h i + 1 3 M i − h i + 1 6 M i + 1 + y i + 1 − y i h i + 1 S'_i(x_i-0)=\frac{h_i}{6}M_{i-1}+\frac{h_i}{3}M_i+\frac{y_i-y_{i-1}}{h_i}\\ S'_i(x_{i-1}+0)=-\frac{h_i}{3}M_{i-1}-\frac{h_i}{6}M_i+\frac{y_i-y_{i-1}}{h_i}\\ 得S'_{i+1}(x_{i}+0)=-\frac{h_{i+1}}{3}M_{i}-\frac{h_{i+1}}{6}M_{i+1}+\frac{y_{i+1}-y_{i}}{h_{i+1}} Si′​(xi​−0)=6hi​​Mi−1​+3hi​​Mi​+hi​yi​−yi−1​​Si′​(xi−1​+0)=−3hi​​Mi−1​−6hi​​Mi​+hi​yi​−yi−1​​得Si+1′​(xi​+0)=−3hi+1​​Mi​−6hi+1​​Mi+1​+hi+1​yi+1​−yi​​

    因为 S i ′ ( x i − 0 ) = S i + 1 ′ ( x i + 0 ) S_i'(x_i-0)=S_{i+1}'(x_i+0) Si′​(xi​−0)=Si+1′​(xi​+0)可以求出参数 M i − 1 , M i , M i + 1 M_{i-1},M_i,M_{i+1} Mi−1​,Mi​,Mi+1​的一个方程:

    h i 6 M i − 1 + h i + h i + 1 3 M i + h i + 1 6 M i + 1 = y i + 1 − y i h i + 1 + y i − y i − 1 h i \frac{h_i}{6}M_{i-1}+\frac{h_i+h_{i+1}}{3}M_i+\frac{h_{i+1}}{6}M_{i+1}=\\\frac{y_{i+1}-y_i}{h_{i+1}}+\frac{y_{i}-y_{i-1}}{h_{i}} 6hi​​Mi−1​+3hi​+hi+1​​Mi​+6hi+1​​Mi+1​=hi+1​yi+1​−yi​​+hi​yi​−yi−1​​

    两边同乘 6 h i + h i + 1 \frac{6}{h_i+h_{i+1}} hi​+hi+1​6​,得方程:

    h i h i + h i + 1 M i − 1 + 2 M i + h i + 1 h i + h i + 1 M i + 1 = 6 h i + h i + 1 ( f [ x i , x i + 1 ] − f [ x i − 1 , x i ] ) \frac{h_i}{h_i+h_{i+1}}M_{i-1}+2M_i+\frac{h_{i+1}}{h_i+h_{i+1}}M_{i+1}=\\\frac{6}{h_i+h_{i+1}}\left(f[x_i,x_{i+1}]-f[x_{i-1},x_i]\right) hi​+hi+1​hi​​Mi−1​+2Mi​+hi​+hi+1​hi+1​​Mi+1​=hi​+hi+1​6​(f[xi​,xi+1​]−f[xi−1​,xi​])

    令:

    μ i = h i h i + h i + 1 λ i = h i + 1 h i + h i + 1 = 1 − μ i g i = 6 h i + h i + 1 ( f [ x i , x i + 1 ] − f [ x i − 1 , x i ] ) = 6 f [ x i − 1 , x i , x i + 1 ] \mu_i=\frac{h_i}{h_i+h_{i+1}}\\ \lambda_i=\frac{h_{i+1}}{h_i+h_{i+1}}=1-\mu_i\\ g_i=\frac{6}{h_i+h_{i+1}}\left(f[x_i,x_{i+1}]-f[x_{i-1},x_i]\right)\\=6f[x_{i-1},x_i,x_{i+1}] μi​=hi​+hi+1​hi​​λi​=hi​+hi+1​hi+1​​=1−μi​gi​=hi​+hi+1​6​(f[xi​,xi+1​]−f[xi−1​,xi​])=6f[xi−1​,xi​,xi+1​]

    则方程可以简写为: μ i M i − 1 + 2 M i + λ i M i + 1 = g i , i = 1 , 2 , . . . , n − 1 \mu_iM_{i-1}+2M_i+\lambda_iM_{i+1}=g_i,i=1,2,...,n-1 μi​Mi−1​+2Mi​+λi​Mi+1​=gi​,i=1,2,...,n−1,也就是共有n-1个方程,下面分三种边界条件依次讨论:

    2.4.1 第一种边界条件,已知插值区间两端的一阶导数值

    μ i = h i h i + h i + 1 , λ i = h i h i + h i + 1 g i = 6 f [ x i − 1 , x i , x i + 1 ] , g 0 = 6 h 1 ( f [ x 0 , x 1 ] − y 0 ′ ) , g n = 6 y n ′ − f [ x n − 1 , x n ] \mu_i=\frac{h_i}{h_i+h_{i+1}}, \lambda_i=\frac{h_i}{h_i+h_{i+1}}\\ g_i=6f[x_{i-1},x_i,x_{i+1}],\\g_0=\frac{6}{h_1}(f[x_0,x_1]-y_0'),\\g_n=\frac{6}{y'_n-f[x_{n-1},x_n]} μi​=hi​+hi+1​hi​​,λi​=hi​+hi+1​hi​​gi​=6f[xi−1​,xi​,xi+1​],g0​=h1​6​(f[x0​,x1​]−y0′​),gn​=yn′​−f[xn−1​,xn​]6​

    有三弯矩方程:

    [ 2 1 μ 1 2 λ 1 . . . . . . . . . . . . . . . μ n − 1 2 λ n − 1 1 2 ] [ M 0 M 1 . . . M n − 1 M n ] = [ g 0 g 1 . . . g n − 1 g n ] \left[ \begin{matrix} 2 & 1 & & & \\ \mu_1 & 2 & \lambda_1 & & \\ ...&...&...&...&...\\ & & \mu_{n-1} & 2 & \lambda_{n-1} \\ & & & 1 & 2 \end{matrix} \right] \left[ \begin{matrix} M_0 \\ M_1 \\ ... \\ M_{n-1}\\ M_n \end{matrix} \right]= \left[ \begin{matrix} g_0 \\ g_1 \\ ... \\ g_{n-1}\\ g_n \end{matrix} \right] ⎣⎢⎢⎢⎢⎡​2μ1​...​12...​λ1​...μn−1​​...21​...λn−1​2​⎦⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎡​M0​M1​...Mn−1​Mn​​⎦⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎡​g0​g1​...gn−1​gn​​⎦⎥⎥⎥⎥⎤​

    2.4.2 第二种边界条件:已知插值区间两端的二阶导数值

    有三弯矩矩阵:

    [ 2 λ 1 μ 2 2 λ 2 . . . . . . . . . . . . . . . μ n − 2 2 λ n − 2 μ n − 1 2 ] [ M 1 M 2 . . . M n − 2 M n − 1 ] = [ g 1 − μ 1 y 0 ′ ′ g 2 . . . g n − 2 g n − 1 − λ n − 1 y n ′ ′ ] 且 有 自 然 边 界 条 件 : M 0 = M n = 0 \left[ \begin{matrix} 2 & \lambda_1 & & & \\ \mu_2 & 2 & \lambda_2 & & \\ ...&...&...&...&...\\ & & \mu_{n-2} & 2 & \lambda_{n-2} \\ & & & \mu_{n-1} & 2 \end{matrix} \right] \left[ \begin{matrix} M_1 \\ M_2 \\ ... \\ M_{n-2}\\ M_{n-1} \end{matrix} \right]= \left[ \begin{matrix} g_1-\mu_1y''_0 \\ g_2 \\ ... \\ g_{n-2}\\ g_{n-1}-\lambda_{n-1}y_n'' \end{matrix} \right]\\ 且有自然边界条件:M_0=M_n=0 ⎣⎢⎢⎢⎢⎡​2μ2​...​λ1​2...​λ2​...μn−2​​...2μn−1​​...λn−2​2​⎦⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎡​M1​M2​...Mn−2​Mn−1​​⎦⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎡​g1​−μ1​y0′′​g2​...gn−2​gn−1​−λn−1​yn′′​​⎦⎥⎥⎥⎥⎤​且有自然边界条件:M0​=Mn​=0

    2.4.3 第三种边界条件

    有三弯矩矩阵:

    [ 2 λ 1 μ 1 μ 2 2 λ 2 . . . . . . . . . . . . . . . μ n − 1 2 λ n − 1 λ n μ n 2 ] [ M 1 M 2 . . . M n − 1 M n ] = [ g 1 g 2 . . . g n − 1 g n ] \left[ \begin{matrix} 2 & \lambda_1 & & & \mu_1\\ \mu_2 & 2 & \lambda_2 & & \\ ...&...&...&...&...\\ & & \mu_{n-1} & 2 & \lambda_{n-1} \\ \lambda_n& & & \mu_n & 2 \end{matrix} \right] \left[ \begin{matrix} M_1 \\ M_2 \\ ... \\ M_{n-1}\\ M_n \end{matrix} \right]= \left[ \begin{matrix} g_1 \\ g_2 \\ ... \\ g_{n-1}\\ g_n \end{matrix} \right] ⎣⎢⎢⎢⎢⎡​2μ2​...λn​​λ1​2...​λ2​...μn−1​​...2μn​​μ1​...λn−1​2​⎦⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎡​M1​M2​...Mn−1​Mn​​⎦⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎡​g1​g2​...gn−1​gn​​⎦⎥⎥⎥⎥⎤​

    值得注意的是,上面三种条件中的线性方程组的系数矩阵都是非奇异的,因此有唯一解,三次样条函数由边界条件唯一确定。

    eg.设 f ( 0 ) = 0 , f ( 1 ) = 1 , f ( 2 ) = 0 , f ( 3 ) = 1 , f ′ ′ ( 0 ) = 1 , f ′ ′ ( 3 = 0 ) f(0)=0,f(1)=1,f(2)=0,f(3)=1,f''(0)=1,f''(3=0) f(0)=0,f(1)=1,f(2)=0,f(3)=1,f′′(0)=1,f′′(3=0),试求 f ( x ) f(x) f(x)在区间[0,3]上的三次样条函数S(x).

    解:由 M 0 = y 0 ′ ′ , M n = y n ′ ′ M_0=y''_0,M_n=y''_n M0​=y0′′​,Mn​=yn′′​知 M 0 = f ′ ′ ( 0 ) = 1 , M 3 = f ′ ′ ( 3 ) = 0 M_0=f''(0)=1,M_3=f''(3)=0 M0​=f′′(0)=1,M3​=f′′(3)=0,构造差商表:

    x i x_i xi​ f ( x i ) f(x_i) f(xi​)一阶差商二阶差商0011120-1-13111

    由:

    μ i = h i h i + h i + 1 λ i = h i + 1 h i + h i + 1 = 1 − μ i g i = 6 h i + h i + 1 ( f [ x i , x i + 1 ] − f [ x i − 1 , x i ] ) = 6 f [ x i − 1 , x i , x i + 1 ] \mu_i=\frac{h_i}{h_i+h_{i+1}}\\ \lambda_i=\frac{h_{i+1}}{h_i+h_{i+1}}=1-\mu_i\\ g_i=\frac{6}{h_i+h_{i+1}}\left(f[x_i,x_{i+1}]-f[x_{i-1},x_i]\right)\\=6f[x_{i-1},x_i,x_{i+1}] μi​=hi​+hi+1​hi​​λi​=hi​+hi+1​hi+1​​=1−μi​gi​=hi​+hi+1​6​(f[xi​,xi+1​]−f[xi−1​,xi​])=6f[xi−1​,xi​,xi+1​]

    得 μ 1 = 0.5 , u μ 2 = 0.5 , λ 1 = λ 2 = 0.5 , g 1 = − 6 , g 2 = 6 \mu_1=0.5,u\mu_2=0.5,\lambda_1=\lambda_2=0.5,g_1=-6,g_2=6 μ1​=0.5,uμ2​=0.5,λ1​=λ2​=0.5,g1​=−6,g2​=6,第二边界条件的三弯矩方程为:

    [ 2 λ 1 μ 2 2 λ 2 . . . . . . . . . . . . . . . μ n − 2 2 λ n − 2 μ n − 1 2 ] [ M 1 M 2 . . . M n − 2 M n − 1 ] = [ g 1 − μ 1 y 0 ′ ′ g 2 . . . g n − 2 g n − 1 − λ n − 1 y n ′ ′ ] \left[ \begin{matrix} 2 & \lambda_1 & & & \\ \mu_2 & 2 & \lambda_2 & & \\ ...&...&...&...&...\\ & & \mu_{n-2} & 2 & \lambda_{n-2} \\ & & & \mu_{n-1} & 2 \end{matrix} \right] \left[ \begin{matrix} M_1 \\ M_2 \\ ... \\ M_{n-2}\\ M_{n-1} \end{matrix} \right]= \left[ \begin{matrix} g_1-\mu_1y''_0 \\ g_2 \\ ... \\ g_{n-2}\\ g_{n-1}-\lambda_{n-1}y_n'' \end{matrix} \right]\\ ⎣⎢⎢⎢⎢⎡​2μ2​...​λ1​2...​λ2​...μn−2​​...2μn−1​​...λn−2​2​⎦⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎡​M1​M2​...Mn−2​Mn−1​​⎦⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎡​g1​−μ1​y0′′​g2​...gn−2​gn−1​−λn−1​yn′′​​⎦⎥⎥⎥⎥⎤​

    得:

    [ 2 0.5 0.5 2 ] [ M 1 M 2 ] = [ − 6 − 0.5 6 ] \left[ \begin{matrix} 2 & 0.5 \\ 0.5 & 2 \end{matrix} \right] \left[ \begin{matrix} M_1 \\ M_2 \end{matrix} \right]= \left[ \begin{matrix} -6-0.5\\ 6 \end{matrix} \right] [20.5​0.52​][M1​M2​​]=[−6−0.56​]

    解得 M 1 = − 64 15 , M 2 = 61 15 M_1=\frac{-64}{15},M_2=\frac{61}{15} M1​=15−64​,M2​=1561​

    因为:

    S i ( x ) = M i − 1 ( x i − x ) 3 6 h i + M i ( x − x i − 1 ) 3 6 h i + 1 h i ( y i − 1 + 1 6 M i − 1 h i 2 ) ( x i − x ) + 1 h i ( y i + 1 6 M i h i 2 ) ( x − x i − 1 ) , x ∈ [ x i − 1 , x i ] S_i(x)=M_{i-1}\frac{(x_i-x)^3}{6h_i}+M_i\frac{(x-x_{i-1})^3}{6h_i}+\\\frac{1}{h_i}\left(y_{i-1}+\frac{1}{6}M_{i-1}h_i^2\right)(x_i-x)+\\\frac{1}{h_i}\left(y_{i}+\frac{1}{6}M_{i}h_i^2\right)(x-x_{i-1}),x\in[x_{i-1},x_i]\\ Si​(x)=Mi−1​6hi​(xi​−x)3​+Mi​6hi​(x−xi−1​)3​+hi​1​(yi−1​+61​Mi−1​hi2​)(xi​−x)+hi​1​(yi​+61​Mi​hi2​)(x−xi−1​),x∈[xi−1​,xi​]

    将 h i = 1 , M 0 = 1 , M 1 , M 2 h_i=1,M_0=1,M_1,M_2 hi​=1,M0​=1,M1​,M2​代入可得:

    x ∈ [ 0 , 1 ] , S 1 ( x ) = 1 90 ( − 79 x 2 + 45 x 3 + 124 x ) x ∈ [ 1 , 2 ] , S 2 ( x ) = 1 90 ( 125 x 3 − 567 x 2 + 736 x − 204 ) x ∈ [ 2 , 3 ] , S 3 ( x ) = 1 90 ( − 61 x 3 + 549 x 2 − 1496 x + 1284 ) x\in[0,1],S_1(x)=\frac{1}{90}(-79x^2+45x^3+124x)\\ x\in[1,2],S_2(x)=\frac{1}{90}(125x^3-567x^2+736x-204)\\ x\in[2,3],S_3(x)=\frac{1}{90}(-61x^3+549x^2-1496x+1284) x∈[0,1],S1​(x)=901​(−79x2+45x3+124x)x∈[1,2],S2​(x)=901​(125x3−567x2+736x−204)x∈[2,3],S3​(x)=901​(−61x3+549x2−1496x+1284)


    {持续更新} 欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

    最新回复(0)