Lagrange插值法、Newton插值法、逐次插值法、分段插值法,只要求插值多项式pn(x)p_n(x)pn​(x)与被插值函数f(x)f(x)f(x)在插值节点处的函数值相等即可,即pn(xi)=f(xi)(i=0,1,⋯,n)p_n(x_i)=f(x_i)(i=0,1,\cdots,n)pn​(xi​)=f(xi​)(i=0,1,⋯,n)。但这种插值不能完全反映出被插值函数的性态。在许多实际问题中,不仅要求插值函数与被插值函数在节点处的函数值相同,而且还要求插值函数与被插值函数在某些节点处的导数值,甚至高阶导数值也相同。按照这种插值条件所进行的插值称为Hermite插值。其中,最常见的是要求一阶导数值相同的插值。下面就来导出其插值多项式。

1. Hermite插值多项式

假设已知函数y=f(x)y=f(x)y=f(x)在插值节点xi(i=0,1,⋯,n)x_i(i=0,1,\cdots,n)xi​(i=0,1,⋯,n)处的函数值为yi=f(xi)y_i=f(x_i)yi​=f(xi​),一阶导数值为mi=f′(xi)(i=0,1,2,⋯,n)m_i=f'(x_i)(i=0,1,2,\cdots,n)mi​=f′(xi​)(i=0,1,2,⋯,n),则HermiteHermiteHermite插值多项式H(x)H(x)H(x)满足:
{H(xi)=yi,H′(xi)=mi,i=0,1,⋯,n(1)\begin{cases} H(x_i)=y_i , \\ H'(x_i)=m_i, \quad i=0,1,\cdots,n \end{cases} \tag{1} {H(xi​)=yi​,H′(xi​)=mi​,i=0,1,⋯,n​(1)
其几何意义就是,要求y=H(x)y=H(x)y=H(x)的图形与y=f(x)y=f(x)y=f(x)的图形在这n+1个点处相切,因此x0,x1,⋯,xnx_0,x_1,\cdots,x_nx0​,x1​,⋯,xn​称为二重节点。在(1)式中有2(n+1)2(n+1)2(n+1)个条件,因此可以确定一个次数不超过2n+12n+12n+1次的插值多项式。仿照求Lagrange插值多项式的方法,设
H(x)=a0(x)y0+β0(x)m0+a1(x)y1+β1(x)m1+⋯+an(x)yn+βn(x)mH(x)=a_0(x)y_0+\beta_0(x)m_0+a_1(x)y_1+\beta_1(x)m_1+\cdots+a_n(x)y_n+\beta_n(x)m H(x)=a0​(x)y0​+β0​(x)m0​+a1​(x)y1​+β1​(x)m1​+⋯+an​(x)yn​+βn​(x)m

H(x)=∑i=0n(ai(x)yi)+βi(x)miH(x)=\sum_{i=0}^n(a_i(x)y_i)+\beta_i(x)m_i H(x)=i=0∑n​(ai​(x)yi​)+βi​(x)mi​
根据插值条件,ai(x)a_i(x)ai​(x)和βi(x)\beta_i(x)βi​(x)必须分别满足:
{ai(xk)={0,k≠i1,k=ii,k=0,1,⋯,nai′(xk)=0\begin{cases} a_i(x_k)=\begin{cases} 0,k\neq i \\ 1,k=i \quad i,k=0,1,\cdots,n\end{cases} \\ a_i'(x_k)=0 \end{cases} ⎩⎪⎨⎪⎧​ai​(xk​)={0,k​=i1,k=ii,k=0,1,⋯,n​ai′​(xk​)=0​

{βi(xk)=0βi′(xk)={0,k≠i1,k=i,i,k=0,1,⋯,n\begin{cases} \beta_i(x_k) = 0\\ \beta_i'(x_k)=\begin{cases}0,k\neq i \\ 1,k=i, \quad i,k=0,1,\cdots,n \end{cases} \end{cases} ⎩⎪⎨⎪⎧​βi​(xk​)=0βi′​(xk​)={0,k​=i1,k=i,i,k=0,1,⋯,n​​
这样确定的αi(x)\alpha_i(x)αi​(x)和βi(x)\beta_i(x)βi​(x)称为Hermite插值基函数。显然,基函数ai(x)a_i(x)ai​(x)与βi(x)\beta_i(x)βi​(x)一旦确定下来,HermiteHermiteHermite插值多项式H(x)H(x)H(x)就确定出来了。下面导出ai(x)a_i(x)ai​(x)和βi(x)\beta_i(x)βi​(x)的具体形式:

(1)先确定βi(x)\beta_i(x)βi​(x)。


βi(xk)=βi′(xk)=0(k≠i)\beta_i(x_k)=\beta_i'(x_k)=0 \quad(k\neq i) βi​(xk​)=βi′​(xk​)=0(k​=i)
知βi(xi)\beta_i(x_i)βi​(xi​)以xk(k≠i)x_k(k\neq i)xk​(k​=i)为二重零点,又由
βi(xi)=0,βi′(xi)=1≠0\beta_i(x_i)=0, \quad \beta_i'(x_i)=1\neq 0 βi​(xi​)=0,βi′​(xi​)=1​=0
知βi(x)\beta_i(x)βi​(x)以xix_ixi​为一重零点。由于βi(x)\beta_i(x)βi​(x)为次数不超过2n+12n+12n+1的多项式,再根据Lagrange基函数li(x)l_i(x)li​(x)的定义,可设
βi(x)=β^i×(x−xi)×li2(x),β^i为常数\beta_i(x)=\hat \beta_i \times(x-x_i)\times l_i^2(x), \quad \hat \beta_i为常数 βi​(x)=β^​i​×(x−xi​)×li2​(x),β^​i​为常数
由βi′(xi)=1\beta_i'(x_i)=1βi′​(xi​)=1,得β^i=1\hat \beta_i=1β^​i​=1,故有:
βi(x)=(x−xi)li2(x)\beta_i(x)=(x-x_i)l_i^2(x) βi​(x)=(x−xi​)li2​(x)
(2)再确定ai(x)a_i(x)ai​(x)

同理,根据ai(x)a_i(x)ai​(x)的定义,ai(x)a_i(x)ai​(x)含有因子li2(x)l_i^2(x)li2​(x),故可令
ai(x)=(ax+b)×l22(x)a_i(x)=(ax+b)\times l_2^2(x) ai​(x)=(ax+b)×l22​(x)
其中,a,b为特定常数。于是由条件
{ai(xi)=1ai′(xi)=0\begin{cases} a_i(x_i)=1 \\ a_i'(x_i)=0 \end{cases} {ai​(xi​)=1ai′​(xi​)=0​
可得出:
{axi+b=1a+2li′(xi)=0\begin{cases} ax_i+b=1 \\ a + 2l_i'(x_i)=0 \end{cases} {axi​+b=1a+2li′​(xi​)=0​
所以
{a=−2li′(xi)b=1+2xili′(xi)\begin{cases} a = -2l_i'(x_i) \\ b = 1+2x_il_i'(x_i) \end{cases} {a=−2li′​(xi​)b=1+2xi​li′​(xi​)​
用对数法对li(x)=(x−x0)⋯(x−xl−1)(x−xl+1)⋯(x−xn)(xi−x0)⋯(xi−xi−1)(xi−xi+1)⋯(xi−xn)l_i(x)=\frac{(x-x_0)\cdots(x-x_{l-1})(x-x_{l+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)=(xi​−x0​)⋯(xi​−xi−1​)(xi​−xi+1​)⋯(xi​−xn​)(x−x0​)⋯(x−xl−1​)(x−xl+1​)⋯(x−xn​)​求导,得li′(xi)=∑k=0,k≠in1xi−xkl_i'(x_i)=\sum_{k=0,k\neq i}^n\frac{1}{x_i-x_k}li′​(xi​)=∑k=0,k​=in​xi​−xk​1​,故
ai(x)=(1−2(x−xi)∑k=0,k≠1n1xi−xk)li2(x)a_i(x)=(1-2(x-x_i)\sum_{k=0,k\neq 1}^n\frac{1}{x_i-x_k})l_i^2(x) ai​(x)=(1−2(x−xi​)k=0,k​=1∑n​xi​−xk​1​)li2​(x)
即得到Hermite插值多项式为:
H(x)=∑i=0n{yi+(xi−x)[(2∑k=0,k≠in1xi−xk)yi−mi]}×li2(x)H(x)=\sum_{i=0}^n\{y_i+(x_i-x)[(2\sum_{k=0,k\neq i}^n\frac{1}{x_i-x_k})y_i-m_i]\}\times l_i^2(x) H(x)=i=0∑n​{yi​+(xi​−x)[(2k=0,k​=i∑n​xi​−xk​1​)yi​−mi​]}×li2​(x)
(3)最后证明Hermit插值多项式惟一性

假设另有一个不超过2n+12n+12n+1次的多项式h(x)h(x)h(x)并满足Hermite插值条件,设
φ(x)=H(x)−h(x)\varphi(x)=H(x)-h(x) φ(x)=H(x)−h(x)
则有
φ(xi)=H(xi)−h(xi)=f(xi)−f(xi)=0,(i=0,1,⋯,n)\varphi(x_i)=H(x_i)-h(x_i)=f(x_i)-f(x_i)=0, \quad(i=0,1,\cdots,n) φ(xi​)=H(xi​)−h(xi​)=f(xi​)−f(xi​)=0,(i=0,1,⋯,n)

φ′(xi)=H′(xi)−h′(xi)=mi−mi=0(i=0,1,⋯,n)\varphi'(x_i)=H'(x_i)-h'(x_i)=m_i-m_i=0 \quad(i=0,1,\cdots,n) φ′(xi​)=H′(xi​)−h′(xi​)=mi​−mi​=0(i=0,1,⋯,n)

于是φ(x)\varphi(x)φ(x)有2n+2个零点,但是由于φ(x)\varphi(x)φ(x)是次数不超过2n+12n+12n+1的多项式,所以φ(x)≡0\varphi(x) \equiv 0φ(x)≡0,从而有:
H(x)=h(x)H(x)=h(x) H(x)=h(x)

2. Hermite插值余项

设f(x)f(x)f(x)在插值区间上有2n+2阶导数,令R(x)=f(x)−H(x)R(x)=f(x)-H(x)R(x)=f(x)−H(x),由H(x)H(x)H(x)的定义知,xi(i=0,1,⋯,n)x_i(i=0,1,\cdots,n)xi​(i=0,1,⋯,n)是R(x)R(x)R(x)的二重零点,因此R(x)R(x)R(x)含有(x−xi)(x-x_i)(x−xi​)因子,故可设
R(x)=k(x)∏2(x)=k(x)⋅[(x−x0)(x−x1)⋯(x−xn)]2R(x)=k(x)\prod^2(x)=k(x)·[(x-x_0)(x-x_1)\cdots(x-x_n)]^2 R(x)=k(x)∏2​(x)=k(x)⋅[(x−x0​)(x−x1​)⋯(x−xn​)]2
作辅助函数
φ(t)=f(t)−H(t)−k(x)∏2(t)\varphi(t)=f(t)-H(t)-k(x)\prod^2(t) φ(t)=f(t)−H(t)−k(x)∏2​(t)
则有
φ(xi)=0,φ′(xi)=0(i=0,1,⋯,n)\varphi(x_i)=0, \quad \varphi'(x_i)=0 \quad(i=0,1,\cdots,n) φ(xi​)=0,φ′(xi​)=0(i=0,1,⋯,n)

φ(x)=0\varphi(x)=0 φ(x)=0

所以,φ(t)\varphi(t)φ(t)至少有n+1个二重零点xi(i=0,1,⋯,n)x_i(i=0,1,\cdots,n)xi​(i=0,1,⋯,n)和一个单零点x。按照Rolle定理,φ′(t)\varphi '(t)φ′(t)在x0,x1,⋯,xn,xx_0,x_1,\cdots,x_n,xx0​,x1​,⋯,xn​,x每相邻两个零点之间各有一个零点,且x0,x1,⋯,xnx_0,x_1,\cdots,x_nx0​,x1​,⋯,xn​仍是φ′(t)\varphi'(t)φ′(t)的零点。所以φ′(t)\varphi'(t)φ′(t)至少有2n+2个零点。同理φ′′(t)\varphi''(t)φ′′(t)在插值区间内至少有2n+1个零点,依次类推,φ(2n+2)(t)\varphi^{(2n+2)}(t)φ(2n+2)(t)在插值区间内至少有一个零点ξ\xiξ,即:
φ(2n+2)(ξ)=f(2n+2)(ξ)−k(x)⋅(2n+2)!=0\varphi^{(2n+2)}(\xi)=f^{(2n+2)}(\xi)-k(x)·(2n+2)!=0 φ(2n+2)(ξ)=f(2n+2)(ξ)−k(x)⋅(2n+2)!=0
所以

由此得余项为:
R(x)=f(2n+2)(ξ)(2n+2)!∏2(2)其中ξ依赖于变量xR(x)=\frac{f^{(2n+2)}(\xi)}{(2n+2)!}\prod^2(2) \quad 其中\xi依赖于变量x R(x)=(2n+2)!f(2n+2)(ξ)​∏2​(2)其中ξ依赖于变量x

Hermite(埃尔米特)插值法 | 插值多项式+ 插值余项相关推荐

  1. 数值分析12 - Hermite埃尔米特插值法(要求高阶插值误差足够小)

    定义 存在唯一性 用开关法构建三次Hermiter插值函数 Hermiter插值函数的误差余项

  2. 【NA】埃尔米特插值法

    文章目录 埃尔米特插值法. 唯一性. 插值余项. 在Hermite插值法之前已经完成了<拉格朗日插值法>与<牛顿插值法>,前两种方法在进行插值时只要求原函数 f(x)f(x)f ...

  3. 埃尔米特插值法在MATLAB中的应用

    埃尔米特插值法 为了让插值函数能更好的和原来的函数重合,不但要求二者在节点上函数值相等,而且要求相切,对应导数也相等,甚至要求高阶导数也相等.--这类插值被称为切触插值,或埃尔米特插值,满足这种要求的 ...

  4. 【数学建模笔记】【第三讲】拉格朗日插值法,牛顿插值法,分段三次埃尔米特插值法及其MATLAB实践

    温馨提示:本文共有3748字,阅读并理解全文大概需要15-20分钟 插值算法 一.插值法的定义 1.插值函数一共有三种: 2.多项式插值法原理 3.分段插值法原理: 4.具体如何求插值函数呢? (1) ...

  5. 两点三次埃尔米特插值法

    怎样用画笔画光滑曲线-两点三次埃尔米特插值法(转自http://blog.sina.com.cn/s/blog_a8192bdd010105rx.html) 求几点(3点以上)之间的光滑曲线是有很多办 ...

  6. 数值计算之 插值法(5)分段插值,埃尔米特插值

    数值计算之 插值法(5)分段插值,埃尔米特插值 前言 分段插值 分段线性插值 分段二次插值 埃尔米特Hermite插值 埃尔米特插值原理 埃尔米特插值公式 分段三次埃尔米特插值 后记 前言 之前记录了 ...

  7. 数学建模之Hermite插值法和三次样条插值法(附上详细的matlab代码)

    插值算法 一般定义 若P(x)为次数不超过n的代数多项式,即 P(x)=a0+a1x+...+anxnP(x)=a_0+a_1x+...+a_nx^n P(x)=a0​+a1​x+...+an​xn ...

  8. 分段线性插值法实验报告_数值分析-插值法

    我们能得到一个函数f在区间[a,b]上某些点的值或者这些点上的高阶导数 我们就能通过插值法去得到一个函数g,g与f是非常相近的 一般来说g分为三类,一类是n次多项式 an*xn +an-1*xn-1+ ...

  9. 4.4 埃尔米特插值

    为什么有埃尔米特插值法: 埃尔米特插值法是一种常用的数值方法,主要用于在给定的数据点集上构造一个可微的函数来近似描述这些数据点的趋势和特征.埃尔米特插值法有以下几个优点: 精度高:埃尔米特插值法可以通 ...

  10. 埃尔米特插值问题——用Python进行数值计算

    当插值的要求涉及到对插值函数导数的要求时,普通插值问题就变为埃尔米特插值问题.拉格朗日插值和牛顿插值的要求较低,只需要插值函数的函数值在插值点与被插函数的值相等,以此来使得在其它非插值节点插值函数的值 ...

最新文章

  1. C# 实现Oracle中的数据与Excel之间的转换
  2. C# Windows CE使用小技巧实例
  3. WPF中的动画——(二)From/To/By 动画
  4. python从txt拿取数据_python requests + xpath 获取分页详情页数据存入到txt文件中
  5. Hadoop相关技术
  6. 独立物理机和虚拟机比较有什么优势?
  7. 23种设计模式(1)-单例模式
  8. android强制结束进程_Android完全强制退出应用程序
  9. Android中Java与web通信
  10. Spring时间(Date)类型转换+自定义
  11. paip.解决中文url路径的问题图片文件不能显示
  12. html中怎么加入动态图片,视频加动态水印 怎么在视频画面中添加一个gif动态图片水印...
  13. JavaEE简易聊天室(Netbeans:Servlet+Cookie+Session)
  14. OpenCV之 图像染色
  15. codewars练习(javascript)-2021/3/16
  16. 如何关闭华为自动杀进程_如何彻底关闭windows 10的 自动更新
  17. 流星滑落-第13届蓝桥杯Scratch省赛1真题第2题
  18. 数据结构-二叉树入门Go语言实现
  19. 二维等离子体输运与反应动力学求解器PASSKEy中的数值和物理参数说明(附视频链接)
  20. 统计学习方法P104 L(w,b,a)计算过程

热门文章

  1. 软件测试功能测试全套常见面试题【开放性思维题】面试总结4-3
  2. csol显示服务器,csol进不了游戏服务器
  3. timesten java_java直接访问Timesten的数据库
  4. java发送带附件的电子邮件
  5. 树莓派搭建DLNA客户端,使用gmediarender,DLAN render。
  6. okfone 解密大师系列软件
  7. 由于找不到npptool.dll,无法继续执行代码
  8. 代码整洁之道1-6章总结
  9. 按键精灵打怪学习-多窗口多线程后台判断人物、宠物血量和宠物快乐度
  10. 开源项目: FlycoTabLayout SlidingTabLayout不显示字体的问题