欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

数值分析] 2 - 插值法

最编程 2024-06-30 13:53:56
...

文章目录

  • 一、引言
    • 1.1 插值法引入
    • 1.2 常用插值法
    • 1.3 插值法定义
  • 二、插值法研究的问题
    • 2.1 插值多项式存在的唯一性
    • 2.2 如何构造n次多项式
      • 2.2.1 待定系数法
      • 2.2.2 拉格朗日插值法
        • 2.2.2.1 拉格朗日多项式
        • 2.2.2.2 拉格朗日插值余项
        • 2.2.2.3 例题
        • 2.2.2.4 拉格朗日插值法的问题
      • 2.2.3 牛顿插值法
        • 2.2.3.1 牛顿插值思想
        • 2.2.3.2 差商的定义
        • 2.2.3.3 差商的性质
        • 2.2.3.4 差商表
        • 2.2.3.5 牛顿插值公式
        • 2.2.3.6 牛顿插值余项
        • 2.2.3.7 等距节点公式
        • 2.2.3.8 例题


学习视频:《数值分析》| 华科 | 研究生基础课


一、引言

1.1 插值法引入

许多实际问题都用函数 y = f ( x ) y=f(x) y=f(x) 来表示某种内在规律的数量关系,其中相当一部分函数是通过实验或计算得到的,并且只是 [ a , b ] [a,b] [a,b] 上一系列点 x i x_i xi 的函数值 { f ( x i )   ∣   i = 0 , 1 , . . . , n } \{f(x_i)\ |\ i=0,1,...,n\} {f(xi)  i=0,1,...,n},这只是一张函数表。

有的问题虽然也有解析表达式,但由于计算复杂,使用不方便,通常也要构造一个函数表,如三角函数表、对数表、立方根表、平方根表等。

然而,为了研究函数的变化规律,往往需要知道不在函数表上的函数值,因此,我们希望根据给定的函数表做一个既可以反映函数 f ( x ) f(x) f(x) 的特性,又便于计算的简单函数 p ( x ) p(x) p(x),用 p ( x ) p(x) p(x) 近似 f ( x ) f(x) f(x)插值法就是根据函数表寻找简单函数 p ( x ) p(x) p(x) 的方法之一

寻找简单函数的问题又被称为函数逼近问题,下面给出了一个函数逼近问题的示例:

在这里插入图片描述

那么,什么样的函数是简单函数呢?

通常,我们用代数多项式或分段代数多项式作为简单函数 p ( x ) p(x) p(x),并使得 p ( x i ) = f ( x i ) p(x_i)=f(x_i) p(xi)=f(xi) 对所有的 x i , i = 0 , 1 , . . . , n x_i,i=0,1,...,n xi,i=0,1,...,n 成立。

1.2 常用插值法

  • 多项式插值 p ( x ) p(x) p(x) 为多项式函数(最常用)
  • 分段插值 p ( x ) p(x) p(x) 为分段多项式函数
  • 三角插值 p ( x ) p(x) p(x) 为三角函数

1.3 插值法定义

在这里插入图片描述
在这里插入图片描述

二、插值法研究的问题

  • 满足插值条件的 p ( x ) p(x) p(x) 是否存在且唯一?
  • 如满足插值条件的 p ( x ) p(x) p(x) 存在,如何构造 p ( x ) p(x) p(x)
  • 如何估计用 p ( x ) p(x) p(x) 近似替代 f ( x ) f(x) f(x) 产生的误差?

2.1 插值多项式存在的唯一性

在这里插入图片描述
在这里插入图片描述

因此,通过上述的证明,可以得到如下定理:

在这里插入图片描述

2.2 如何构造n次多项式

2.2.1 待定系数法

在这里插入图片描述

下面还有一种更加简洁的解法:

在这里插入图片描述

2.2.2 拉格朗日插值法

2.2.2.1 拉格朗日多项式

前面介绍的待定系数法中,使用的基函数是 1 , x , x 2 , . . . , x n 1,x,x^2,...,x^n 1,x,x2,...,xn,这样的基函数过于简单,导致求解系数时较为麻烦。因此,有了下面将要介绍的拉格朗日插值法,它使用了更为复杂的拉格朗日基函数

在这里插入图片描述

考虑 n = 1 n=1 n=1 的特殊情况:

在这里插入图片描述

由上可知:

l 0 ( x 0 ) = 1 , l 0 ( x 1 ) = 0 , l 1 ( x 0 ) = 0 , l 1 ( x 1 ) = 1. l_0(x_0)=1,l_0(x_1)=0, \\ l_1(x_0)=0,l_1(x_1)=1. l0(x0)=1,l0(x1)=0,l1(x0)=0,l1(x1)=1.

可以给出如下的克罗内克Delta函数

δ i j = { 1 , i = j 0 , i ≠ j \delta_{ij}=\begin{cases} 1 , i=j \\ 0 , i \neq j \end{cases} δij={1,i=j0,i=j

且满足条件 l i ( x j ) = δ i j l_i(x_j)=\delta_{ij} li(xj)=δij

更一般地,下面我们进一步讨论 n ≥ 1 n\ge1 n1 的情况:

在这里插入图片描述

从拉格朗日基函数公式我们可以看出,它仅仅与节点 x x x 有关,而与真实的函数形式 f ( x ) f(x) f(x) 无关,这意味着给定不同的函数和相同的插值节点,求出来的拉格朗日基函数是一样的。

另外,容易得到 ∑ i l i ( x ) = 1 \sum_{i}{l_i(x)=1} ili(x)=1(特别地, f ( x ) = 1 f(x)=1 f(x)=1

在这里插入图片描述

2.2.2.2 拉格朗日插值余项

假设节点 x i ∈ [ a , b ] , i = 0 , 1 , . . . , n x_i\in[a,b],i=0,1,...,n xi[a,b],i=0,1,...,n,且 f ( x ) f(x) f(x) 满足条件 f ( x ) ∈ C n [ a , b ] f(x)\in C^n[a,b] f(x)Cn[a,b] f ( n + 1 ) ( x ) f^{(n+1)}(x) f(n+1)(x) [ a , b ] [a,b] [a,b] 内存在,考虑截断误差 R n ( x ) = L n ( x ) − f ( x ) R_n(x)=L_n(x) - f(x) Rn(x)=Ln(x)f(x)

由插值条件可知, R n ( x ) R_n(x) Rn(x) 至少存在 n + 1 n+1 n+1 个零点(因为在每个插值点处, R n R_n Rn 必然为零),因此,可以将 R n ( x ) R_n(x) Rn(x) 表示为:

R n ( x ) = K ( x ) ∏ i = 0 n ( x − x i ) R_n(x)=K(x)\prod_{i=0}^{n}{(x-x_i)} Rn(x)=K(x)i=0n(xxi

推荐阅读