• 插值法


    1、拉格朗日插值法

    ①原理

    对于平面上已知的n个点,可以找到一个n-1次多项式y=a0+a1x+a2x2+…+an-1xn-1,使得该多项式曲线经过这n个点。对于缺失的值,将对应的x值代入多项式即可得到近似值L(x)。

    ②公式推算

    已知:

    将n个点的坐标(xi,yi)代入多项式,得:

    解得拉格朗日插值多项式为:

    其中li(x)称为插值基函数:

    拉格朗日插值公式是在节点上给出节点基函数,然后做基函数的线性组合,组合系数为节点函数值。

    存在性证明:

    对于给定的n个点,拉格朗日插值法的思路是找到一个在点(xi,yi)取值为1,而在其他点取值都是0的多项式li(x),这样,多项式yili(x)在点xi处取值为yi,而在其他点取值为0。

    唯一性证明:

    对任意两个次数不超过n-1的多项式的差值在所有n个点的取值都为0:

    所以:

    当φ(x)≠0时,其次数一定不小于n,但是次数不超过n-1,φ(x)次数不应该超过n-1。所以有:

    几何性质:

    基函数li(x)可看成由次数不超过n-1的多项式组成的线性空间的一组基底。

    如果存在一组系数λi,使得:

     

    则有:

    因此:

    证明li(x)线性无关。

    缺点:

    1、在计算中,当插值点增加或减少一个时,所对应的基本多项式就需要全部重新计算,于是整个公式都会变化,非常繁琐。计复杂度为O(n2)。

    2、当插值点比较多的时候,拉格朗日插值多项式的次数可能会很高,因此具有数值不稳定的特点,也就是说尽管在已知的几个点取到给定的数值,但在附近却会和“实际上”的值之间有很大的偏差(如右下图)[6]。这类现象也被称为龙格现象,解决的办法是分段用较低次数的插值多项式。

    ③改进——重心拉格朗日插值

    不妨设:

    其中wi称为重心权,则改进后:

    优点:

    1、当数据点的个数增加一个xn+1时,可在O(n)复杂度内更新每个wi(wi←wi/(xi-xn+1)),以及计算新的重心权wn+1,并在O(n)时间内计算得到新的L(x)。

    2、牛顿插值法

    ①原理

    牛顿(Newton)插值公式是代数插值方法的一种形式。牛顿差值引入了差商的概念,使其在差值节点增加时便于计算。

    ②公式推演

    求已知的n个点对(xi,yi)的所有阶的差商公式:

    变换得到:

    然后其中1式+(x-x1)·2式+···+(x-x1)···(x-xn-1)·n式,得到:

    其中:

    P(x)称为牛顿插值逼近函数,R(x)称为误差函数。

    1、对于P(x),每当新增一个插值数据点,前面已有的各项不变,计算只增加一项。每项系数均为各阶差商。

    2、仍没有改变拉格朗日的插值曲线在节点处有尖点,不光滑,插值多项式在节点处不可导等缺点。

    3、Hermite插值(埃尔米特插值)

    ①原理

    埃尔米特插值是另一类插值问题,这类插值在给定的节点处,不但要求插值多项式的函数值与原函数值相同。同时还要求在节点处,插值多项式的一阶直至指定阶的导数值,也与被插函数的相应阶导数值相等。

    若在某节点xi,要求插值函数多项式的函数值、一阶导数值、直至mi-1阶导数值均与被插函数的函数值相同及相应的导数值相等。我们称xi为mi重插值点节。

    设原函数为f(x),xi的函数值为yi,xi的插值多项式为H(x)。

    ②相关定理

    1、唯一性定理: f(x)关于结点xi的二重Hermite插值多项式存在且唯一。

    2、误差定理

    ③二重Hermite插值多项式推导

    设在[A,B]范围内,一共有x0、x1、···、xn共n+1个结点,不妨假设x0<x1<···<xn。令设:

    根据Hermite插值的要求:

    这里一共给出了2(n+1)个条件,可唯一确定一个次数不超过2n+1的多项式。列出多项式为:

    采用拉格朗日插值多项式的基函数法进行推导这2n+1个系数。

    先求解插值基函数αi(x)和βi(x),共有2n+1个,且每个基函数都是2n+1次多项式,且满足:

    H2n+1(x)可用插值基函数表示:

    接下来就是确定基函数。

    设:

    令·:

    根据条件可知:

    易知li(xi)=1,整理得:

     

    解出:

    从li(x)定义式,对两边求导,得到:

    代入得到αi(x)表达式:

    同理,由于βi(xi)=0以及 ,可设:

    由于li(xi)=1,可知c=1。因此:

     

    ④证明Hermite插值多项式唯一

    使用反证法,假设另存在一个插值多项式为,则以及满足Hermite插值条件,有:

    在每个结点xi上均有二重根,则φ(x)有2n+2重根。

    但由于φ(x)是不高于2n+1的多项式,故φ(x)=0。唯一性得证。

    ⑤计算余项----误差定理

    仿照拉格朗日插值余项的证明方法,若f(x)在[A,B]范围内的2n+2阶导数存在,则:

    ξ的值与x有关:

    ⑥三次Hermite插值多项式

    当只有2个结点,也就是n=1时,插值多项式记为H3(x),不妨设这2个节点为xk、xk+1

    H3(x)满足:

    相应的插值基函数为:

    因此:

    其余项为:

    ⑦一般Hermite插值多项式

    4、分段插值

    分段差值就是对每一个分段区间[xi,xi+1]分别进行插值,则最后所得插值函数为一分段函数。

    ①分段线性插值

    对每一个分段区间[xi,xi+1]用1阶多项式逼近f(x),类似拉格朗日插值:

    ②分段三次Hermite插值:

    5、样条插值(待补充)

    样条插值法是一种以可变样条来作出一条经过一系列点的光滑曲线的数学方法。插值样条是由一些多项式组成的,每一个多项式都是由相邻的两个数据点决定的,这样,任意的两个相邻的多项式以及它们的导数(不包括仇阶导数)在连接点处都是连续的。该方法不需要已知导数。

    ①样条函数定义

    设在区间[A,B]上有n+1个结点x0<x1<···<xn,如果存在正整数k使得在[A,B]上的分段函数S(x)满足:

    • 在[A,B]上直到k-1阶都有连续导数

    • 在每个小区间[xi,xi+1]上为次数不大于k的多项式

    则称S(x)为k次样条函数。

    ②三次样条插值

    1、三次样条函数定义

    在区间[A,B]上有n+1个结点x0<x1<···<xn,已知yi=f(xi),如果分段函数:

    满足:

    • S(x)在[A,B]为三次多项式
    • 在区间[A,B]上连续
    • S(xi)=yi

    则称S(x)为三次样条插值函数。

    2、公式推导

    易知一共有n个三次多项式,需要待定4n个系数。以[xi,xi+1]为例:

    插值条件:

    连续性条件:

    上述条件一共有4n-2个方程,但未定系数有4n个,剩余条件通过边界给出:

    第一边界条件(固定边界条件):

    第二边界条件:

    当二阶导数恒为0时,称之自然边界条件。

    周期边界条件:

    3、三转角法——待定一阶系数

    4、三弯矩法——待定二阶系数

    5、B样条基函数法

  • 相关阅读:
    JAVA Number类
    ConcurrentHashMap.Segment源码解析
    Java Concurrent包初探
    JAVA枚举类
    构造不可变类及其优点
    Unsafe类初探
    Paxos made simple 翻译尝试
    平行二叉堆和优先队列
    Android OpenCV学习
    Android-Java和HTML5交互-混合开发-优化
  • 原文地址:https://www.cnblogs.com/ivan-count/p/10559575.html
Copyright © 2020-2023  润新知