数值分析(4)-多项式插值: 埃尔米塔插值法

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

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

1. 埃尔米特插值多项式

定义:设 f ( x ) f(x) f(x)在节点 a ≤ x 0 , x 1 , . . . , x n ≤ b a\leq x_0,x_1,...,x_n \leq b ax0,x1,...,xnb处的函数值为 y 0 , y 1 , . . . , y n y_0,y_1,...,y_n y0,y1,...,yn,设 P ( x ) 为 f ( x ) P(x)为f(x) P(x)f(x)在区间[a,b]上具有一阶导数的插值函数,

(1) 若要求 P ( x ) P(x) P(x)在区间[a,b]上具有一阶导数(一阶光滑度),显然 P ( x ) P(x) P(x)在节点 x 0 , x 1 , . . . , x n x_0,x_1,...,x_n x0,x1,...,xn处必须满足:

P ( x i ) = f ( x i ) = y i , i = 0 , 1 , . . . , n P ′ ( x i ) = f ′ ( x i ) = y i ′ , i = 0 , 1 , . . . , n P(x_i)=f(x_i)=y_i,i=0,1,...,n\\ P'(x_i)=f'(x_i)=y'_i,i=0,1,...,n P(xi)=f(xi)=yi,i=0,1,...,nP(xi)=f(xi)=yi,i=0,1,...,n

共2n+2个方程解出2n+2个待定的系数,因此P(x)可以是最高次数为2n+1次的多项式,两个节点就是三次多项式作为插值函数。

(2) 若要求P(x)在[a,b]上具有m阶导数(m阶光滑度),显示P(x)在节点 x 0 , x 1 , . . . , x n x_0,x_1,...,x_n x0,x1,...,xn处必须满足:

P ( x i ) = f ( x i ) = y i P ′ ( x i ) = f ′ ( x i ) = y i ′ P ′ ′ ( x i ) = f ′ ′ ( x i ) = y i ′ ′ , i = 0 , 1 , . . . n . . . P m ( x i ) = f m ( x i ) = y i m P(x_i)=f(x_i)=y_i\\ P'(x_i)=f'(x_i)=y'_i\\ P''(x_i)=f''(x_i)=y''_i,i=0,1,...n\\ ... P^{m}(x_i)=f^{m}(x_i)=y^{m}_i P(xi)=f(xi)=yiP(xi)=f(xi)=yiP(xi)=f(xi)=yi,i=0,1,...n...Pm(xi)=fm(xi)=yim

称满足(1)(2)的插值多项式为诶尔米特插值多项式,记为 H k ( x ) H_k(x) Hk(x),k为多项式次数。(k过大会影响收敛性和稳定性)

2. 重节点均差

f ∈ C n [ a , b ] , x 0 , x 1 , . . . , x n f \in C^n[a,b],x_0,x_1,...,x_n fCn[a,b],x0,x1,...,xn为[a,b]上的相异节点,则 f [ x 0 , x 1 , . . . , x n ] f[x_0,x_1,...,x_n] f[x0,x1,...,xn]是其变量的连续函数,根据均差定义,若 f ∈ C 1 [ a , b ] f\in C^1[a,b] fC1[a,b],则有:

l i m x → x 0 f [ x 0 , x ] = l i m x → x 0 f ( x ) − f ( x 0 ) x − x 0 = f ′ ( x 0 ) lim_{x \rarr x_0}f[x_0,x]=\\ lim_{x \rarr x_0}\frac{f(x)-f(x_0)}{x-x_0}=f'(x_0) limxx0f[x0,x]=limxx0xx0f(x)f(x0)=f(x0)

由此定义一阶重节点均差:

f [ x 0 , x 0 ] = l i m x → x 0 f [ x 0 , x ] = f ′ ( x 0 ) f[x_0,x_0]=lim_{x \rarr x_0} f[x_0,x]=f'(x_0) f[x0,x0]=limxx0f[x0,x]=f(x0)

类似地可以定义重节点的n阶均差:

f [ x 0 , x 0 , . . . , x 0 ( 共 n 个 ) ] = l i m x i → x 0 f [ x 0 , x 1 , . . . , x n ] = 1 n ! f ( n ) ( x 0 ) f[x_0,x_0,...,x_0{(共n个)}]=\\ lim_{x_i \rarr x_0}f[x_0,x_1,...,x_n]=\\ \frac{1}{n!}f^{(n)}(x_0) f[x0,x0,...,x0(n)]=limxix0f[x0,x1,...,xn]=n!1f(n)(x0)

3. 两点三次Hermite插值

x x x x 0 x_0 x0 x 1 x_1 x1
f ( x ) f(x) f(x) y 0 y_0 y0 y 1 y_1 y1
f ′ ( x ) f'(x) f(x) y 0 ′ y_0' y0 y 1 ′ y_1' y1

两个节点最高可用三次Hermite多项式 H 3 ( x ) H_3(x) H3(x)作为插值函数,满足:

H 3 ( x i ) = y i , H 3 ′ ( x i ) = y i ′ ( i = 0 , 1 ) H_3(x_i)=y_i,H'_3(x_i)=y'_i(i=0,1) H3(xi)=yi,H3(xi)=yi(i=0,1)

直接设 H 3 ( x ) = a x 3 + b x 2 + c x + d H_3(x)=ax^3+bx^2+cx+d H3(x)=ax3+bx2+cx+d,待定系数使计算复杂,不易推广到高次,可以引入四个基函数:

α 0 ( x ) , α 1 ( x ) , β 0 ( x ) , β 1 ( x ) \alpha_0(x),\alpha_1(x),\beta_0(x),\beta_1(x) α0(x),α1(x),β0(x),β1(x)

使之满足:

α 0 ( x 0 ) = 1 , α 1 ( x 0 ) = 0 , β 0 ( x 0 ) = 0 , β 1 ( x 0 ) = 0 α 0 ( x 1 ) = 0 , α 1 ( x 1 ) = 1 , β 0 ( x 1 ) = 0 , β 1 ( x 1 ) = 0 α 0 ′ ( x 0 ) = 0 , α 1 ′ ( x 0 ) = 0 , β 0 ′ ( x 0 ) = 1 , β 1 ′ ( x 0 ) = 0 α 0 ′ ( x 1 ) = 0 , α 1 ′ ( x 1 ) = 0 , β 0 ′ ( x 1 ) = 0 , β 1 ′ ( x 1 ) = 1 \alpha_0(x_0)=1,\alpha_1(x_0)=0,\beta_0(x_0)=0,\beta_1(x_0)=0\\ \alpha_0(x_1)=0,\alpha_1(x_1)=1,\beta_0(x_1)=0,\beta_1(x_1)=0\\ \alpha'_0(x_0)=0,\alpha'_1(x_0)=0,\beta'_0(x_0)=1,\beta'_1(x_0)=0\\ \alpha'_0(x_1)=0,\alpha'_1(x_1)=0,\beta'_0(x_1)=0,\beta'_1(x_1)=1 α0(x0)=1,α1(x0)=0,β0(x0)=0,β1(x0)=0α0(x1)=0,α1(x1)=1,β0(x1)=0,β1(x1)=0α0(x0)=0,α1(x0)=0,β0(x0)=1,β1(x0)=0α0(x1)=0,α1(x1)=0,β0(x1)=0,β1(x1)=1

又插值函数应满足:

H 3 ( x 0 ) = y 0 , H 3 ( x 1 ) = y 1 H 3 ′ ( x 0 ) = y 0 ′ , H 3 ′ ( x 1 ) = y 1 ′ H_3(x_0)=y_0,H_3(x_1)=y_1\\ H_3'(x_0)=y_0',H_3'(x_1)=y_1' H3(x0)=y0,H3(x1)=y1H3(x0)=y0,H3(x1)=y1

H 3 ( x ) H_3(x) H3(x)用四个插值基函数表示,假设:

H 3 ( x ) = y 0 α 0 ( x ) + y 1 α 1 ( x ) + y 0 ′ β 0 ( x ) + y 1 ′ β 1 ( x ) H 3 ′ ( x ) = y 0 α 0 ′ ( x ) + y 1 α 1 ′ ( x ) + y 0 ′ β 0 ′ ( x ) + y 1 ′ β 1 ′ ( x ) H_3(x)=y_0\alpha_0(x)+y_1\alpha_1(x)+y_0'\beta_0(x)+y_1'\beta_1(x)\\ H_3'(x)=y_0\alpha_0'(x)+y_1\alpha_1'(x)+y_0'\beta_0'(x)+y_1'\beta_1'(x) H3(x)=y0α0(x)+y1α1(x)+y0β0(x)+y1β1(x)H3(x)=y0α0(x)+y1α1(x)+y0β0(x)+y1β1(x)

由上面的插值基函数的函数值和导函数值可知: x 1 x_1 x1 α 0 ( x ) \alpha_0(x) α0(x)的二重零点{ x 1 x_1 x1处函数值导函数值均为0},即可假设:

α 0 ( x ) = ( x − x 1 ) 2 ( a x + b ) \alpha_0(x)=(x-x_1)^2(ax+b) α0(x)=(xx1)2(ax+b)

α 0 ( x 0 ) = 1 , α 0 ′ ( x 0 ) = 0 \alpha_0(x_0)=1,\alpha_0'(x_0)=0 α0(x0)=1,α0(x0)=0得:

a = − 2 ( x 0 − x 1 ) 3 , b = 1 ( x 0 − x 1 ) 2 + 2 x 0 ( x 0 − x 1 ) 3 a=-\frac{2}{(x_0-x_1)^3},\\ b=\frac{1}{(x_0-x_1)^2}+\frac{2x_0}{(x_0-x_1)^3} a=(x0x1)32,b=(x0x1)21+(x0x1)32x0

使用类似方法可得:

α 0 ( x ) = ( 1 + 2 l 1 ( x ) ) ⋅ l 0 2 ( x ) = ( 1 + 2 x − x 0 x 1 − x 0 ) ( x − x 1 x 0 − x 1 ) 2 \alpha_0(x)=(1+2l_1(x))\cdot l^2_0(x)=\\ \left(1+2\frac{x-x_0}{x_1-x_0}\right)\left(\frac{x-x_1}{x_0-x_1}\right)^2 α0(x)=(1+2l1(x))l02(x)=(1+2x1x0xx0)(x0x1xx1)2

α 1 ( x ) = ( 1 + 2 l 0 ( x ) ) ⋅ l 1 2 ( x ) = ( 1 + 2 x − x 1 x 0 − x 1 ) ( x − x 0 x 1 − x 0 ) 2 \alpha_1(x)=(1+2l_0(x))\cdot l^2_1(x)=\\ \left(1+2\frac{x-x_1}{x_0-x_1}\right)\left(\frac{x-x_0}{x_1-x_0}\right)^2 α1(x)=(1+2l0(x))l12(x)=(1+2x0x1xx1)(x1x0xx0)2

β 0 ( x ) = ( x − x 0 ) ⋅ l 0 2 ( x ) = ( x − x 0 ) ( x − x 1 x 0 − x 1 ) 2 \beta_0(x)=(x-x_0) \cdot l^2_0(x)=\\ (x-x_0)\left(\frac{x-x_1}{x_0-x_1}\right)^2 β0(x)=(xx0)l02(x)=(xx0)(x0x1xx1)2

β 1 ( x ) = ( x − x 1 ) ⋅ l 1 2 ( x ) = ( x − x 1 ) ( x − x 0 x 1 − x 0 ) 2 \beta_1(x)=(x-x_1) \cdot l^2_1(x)=\\ (x-x_1)\left(\frac{x-x_0}{x_1-x_0}\right)^2 β1(x)=(xx1)l12(x)=(xx1)(x1x0xx0)2

由此可得两点三次Hermite插值公式

H 3 ( x ) = y 0 α 0 ( x ) + y 1 α 1 ( x ) + y 0 ′ β 0 ( x ) + y 1 ′ β 1 ( x ) y 0 ( 1 + 2 l 1 ( x ) ) ⋅ l 0 2 ( x ) + y 1 ( 1 + 2 l 0 ( x ) ) ⋅ l 1 2 ( x ) + y 0 ′ ( x − x 0 ) ⋅ l 0 2 ( x ) + y 1 ′ ( x − x 1 ) ⋅ l 1 2 ( x ) = y 0 ( 1 + 2 x − x 0 x 1 − x 0 ) ( x − x 1 x 0 − x 1 ) 2 + y 1 ( 1 + 2 x − x 1 x 0 − x 1 ) ( x − x 0 x 1 − x 0 ) 2 + y 0 ′ ( x − x 0 ) ( x − x 1 x 0 − x 1 ) 2 + y 1 ′ ( x − x 1 ) ( x − x 0 x 1 − x 0 ) 2 H_3(x)=y_0\alpha_0(x)+y_1\alpha_1(x)+y_0'\beta_0(x)+y_1'\beta_1(x)\\y_0(1+2l_1(x))\cdot l^2_0(x)+y_1(1+2l_0(x))\cdot l^2_1(x)\\ +y_0'(x-x_0) \cdot l^2_0(x)+y_1'(x-x_1) \cdot l^2_1(x)\\ =y_0\left(1+2\frac{x-x_0}{x_1-x_0}\right)\left(\frac{x-x_1}{x_0-x_1}\right)^2\\ +y_1\left(1+2\frac{x-x_1}{x_0-x_1}\right)\left(\frac{x-x_0}{x_1-x_0}\right)^2\\ +y_0'(x-x_0)\left(\frac{x-x_1}{x_0-x_1}\right)^2\\ +y_1'(x-x_1)\left(\frac{x-x_0}{x_1-x_0}\right)^2 H3(x)=y0α0(x)+y1α1(x)+y0β0(x)+y1β1(x)y0(1+2l1(x))l02(x)+y1(1+2l0(x))l12(x)+y0(xx0)l02(x)+y1(xx1)l12(x)=y0(1+2x1x0xx0)(x0x1xx1)2+y1(1+2x0x1xx1)(x1x0xx0)2+y0(xx0)(x0x1xx1)2+y1(xx1)(x1x0xx0)2

两点三次Hermite插值的余项:

R 3 ( x ) = f ( 4 ) ( ξ ) 4 ! ( x − x 0 ) 2 ( x − x 1 ) 2 , x 0 ≤ ξ ≤ x 1 R_3(x)=\frac{f^{(4)}(\xi)}{4!}(x-x_0)^2(x-x_1)^2,\\x_0 \leq \xi \leq x_1 R3(x)=4!f(4)(ξ)(xx0)2(xx1)2,x0ξx1

eg.求作二次多项式使其满足:

φ 2 ( 0 ) = y 0 , φ 2 ′ ( 0 ) , φ 1 ( 1 ) = y 1 \varphi_2(0)=y_0,\varphi_2'(0),\varphi_1(1)=y_1 φ2(0)=y0,φ2(0),φ1(1)=y1

解:

先求基函数 α 0 ( x ) , α 1 ( x ) , β 0 ( x ) \alpha_0(x),\alpha_1(x),\beta_0(x) α0(x),α1(x),β0(x)满足:

α 0 ( 0 ) = 1 , α 1 ( 0 ) = 0 , β 0 ( 0 ) = 0 α 0 ( 1 ) = 0 , α 1 ( 1 ) = 1 , β 0 ( 1 ) = 0 , α 0 ′ ( 0 ) = 0 , α 1 ′ ( 0 ) = 0 , β 0 ′ ( 0 ) = 1 \alpha_0(0)=1,\alpha_1(0)=0,\beta_0(0)=0\\ \alpha_0(1)=0,\alpha_1(1)=1,\beta_0(1)=0,\\ \alpha'_0(0)=0,\alpha'_1(0)=0,\beta'_0(0)=1 α0(0)=1,α1(0)=0,β0(0)=0α0(1)=0,α1(1)=1,β0(1)=0,α0(0)=0,α1(0)=0,β0(0)=1

可令:

α 0 ( x ) = ( a + b x ) ( x − 1 ) α 1 ( x ) = c x 2 β 0 ( x ) = d x ( x − 1 ) \alpha_0(x)=(a+bx)(x-1)\\ \alpha_1(x)=cx^2\\ \beta_0(x)=dx(x-1) α0(x)=(a+bx)(x1)α1(x)=cx2β0(x)=dx(x1)

可得a=b=-1,c=1,d=-1,则:

φ 2 ( x ) = y 0 ( 1 − x ) 2 + y 1 x 2 + y 0 ′ x ( 1 − x ) \varphi_2(x)=y_0(1-x)^2+y_1x^2+y_0'x(1-x) φ2(x)=y0(1x)2+y1x2+y0x(1x)


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

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值