第 1 章:插值

插值

  • 1.1 插值问题的基本概念
  • 1.2 多项式插值的拉格朗日形式
  • 1.3 多项式插值的牛顿形式
  • \(Hermite插值^*\)
  • 分段低次插值

1.1插值问题的基本概念

问题的提出
设有一个年产量 240 吨的食品加工厂,需要统计其生产费用,但由于该厂各项资料不全,无法统计。在这种情况下,统计部门收集了设备、生产能力和该厂大致相同的五个食品加工厂的产量与生产费用资料如下表:
image
能否根据已知五个食品加工厂的资料比较准确地估计该厂的生产费用呢?
image


image

插值问题

定义 1.1:设函数 \(y = f(x)\)在区间\([a,b]\)上有定义,且已知在点 \(a≤x_0<...<x_n<b\)上的值\(y_0,y_1,...,y_n\),求一个简单函数\(φ(x_i) = y_i = f(x_i),i=0,1,2,...,n\)

  • \(y = f(x)\):被插值函数
  • \(a≤x_0<...<x_n<b\):插值节点
  • \([a,b]\):插值区间

构造插值函数需要考虑以下问题:

  1. 插值函数是否存在
  2. 插值函数是否唯一
  3. 如何表示插值函数
  4. 如何估计被插值函数和插值函数的误差
    image

1.2多项式插值的拉格朗日形式

考虑通过\((n+1)\)个点:\((x_i,f(x_i))(i=0,1,...,n)\)的插值多项式\(L_n(x)\),使得

  • \(L_n(x_i) = f(x_i),i=0,1,...,n\)
  • 满足条件的多项式存在吗?唯一吗?
一次插值

\(n=1\),\(L_1(x)是过(x_0,f(x_0))和(x_1,f(x_1))两点的直线\)
image

二次插值

\(n=2\),\(L_2(x)是过(x_0,f(x_0)),(x_1,f(x_1)),(x_2,f(x_2))三点的抛物线\)
image

n次插值

image

其中,插值基函数:

image

  • 避免了解方程组的计算
  • 给出了任意次插值多项式的统一表达式
实际问题

image

拉格朗日插值的误差

定理 1.2:\(设f(x)∈C^{n+1}[a,b],且节点a≤x_0<x_1<...<x_n≤b,则相应的n次拉格朗日插值多项式L_n(x)的误差为:\)
image

\(其中,a<ξ<b\)

例题
  • 构造以下数据的三次拉格朗日插值多项式,并计算\(f(0.6)\)
    • image
  • 问题:构造以下数据的四次插值多项式,并计算\(f(0.6)\)
    • image

拉格朗日插值多项式无承袭性质,需要重新构造基函数

多项式插值的牛顿形式

考虑通过\((n+1)\)个点,\((x_i,f(x_i))(i=0,1,...,n)\)的插值多项式\(N_n(x)\)
\(N_(x) = a_0 + a_1(x-x_0) + a_2(x-x_0)(x-x_1) + ... + a_n(x-x_0)...(x-x_{n-1})\)
满足插值条件
\(N_n(x_i) = f(x_i),i=0,1,...,n\)

差商定义

\(f[x_m] = f(x_m)\)\(f\)的零阶差商,零阶差商之差与自变量之差的比值记为

image

称为函数关于点\(x_0,x_m\)的一阶差商。一般地,记\((k-1)\)阶差商之差的自变量之差的比值为

image

称为\(f\)关于点\(x_0,x_1,...,x_{k-1},x_m\)\(k\)阶差商

  1. 差商的值由函数值的线性组合而成
    image

  2. 差商的值只与节点有关,与节点的排列顺序无关,即:
    image

  3. \(f(x)\)\(m\)次多项式,则\(f[x_0,...,x_{k-1},x]\)\(x\)\((m-k)\)次多项式
    image

n次牛顿插值多项式

image

插值误差:
image

差商与导数的关系

image

差商的计算方法(表格法)

image

问题:构造以下数据的四次插值多项式,并计算\(f(0.6)\)
image

解:
image
\(N_4(x)=17-8(x+2)+3(x+2)x+(x+2)x(x-1)-0.8(x+2)x(x-1)(x-2)\)
image

image

1.4Hermite插值

已知节点 \(x_i(i=0,1,...,n),f(x_i) = f_i,f'(x_i) = m_i(i=0,1,...,n),构造Hermite插值多项式H_{2n+1}(x)∈H_{2n+1}\)
image

用基函数表示为:
image
其中\(α_i(x)和β_i(x)为2n+1次多项式\)
image

n=1时:
image
image
image

分段低次插值

高次插值的Runge现象

例题:
image
image
image

结果为:
image

可以发现:高次插值多项式在插值区间内会发生剧烈振荡
结论

  • 等间距插值不能保证有较好的插值效果
  • 高次多项式的插值效果并不一定优于低次多项式的插值效果
分段线性插值

image

  1. \(I_h(x) ∈ C[a,b]\)
  2. \(I_h(x_i) = f_i,i=0,1,...,n\)
  3. \(I_h(x)在每个小区间[x_i,x_i+1] (i=0,1,...,n-1)上为线性函数\)

则称\(I_h(x)\)为分段线性函数,相应的插值为分段线性插值
image

分段线性插值的误差估计
  • \(若f(x)∈C[a,b],则当h→0时I_h(x)一致收敛于f(x)\)
  • \(若f(x)∈C^2[a,b],则余项R(x) = f(x) - I_h(x)有误差估计式\)
    image

image

image

三次样条函数

  • 分段线性插值算法简单、计算量小
  • 只要区间充分小,就能保证误差要求
  • 如果修改了某节点\(x_i\)的函数值,或是增加了一个节点,则仅有相邻的两个区间会受到影响
  • 分段线性插值在插值点处不光滑

是否存在某种插值函数既能保持分段线性插值的优点,又在插值点处满足一定的光滑性?

  • 一种非局部化的分段插值,光滑度高
样条插值

样条插值来源于生产实践,有明确的物理背景

  • 以张紧的弦线勒过一些样点,则弦线自动形成折线(相邻样点之间形成折线,仅坡度间断),此即为一次样条插值
  • 强迫弹性薄条通过一些样点,则薄条自动形成光顺的曲线(仅样点有三阶导数的间断,坡度、曲率均是连续的),此即为三次样条插值。
m次样条插值
  • m次样条插值本质上是一段一段的m次多项式拼合而成的曲线
  • 在拼接处,不仅函数是连续的,且直到m-1阶的导数也是连续的

定义 1.2:\(给定[a,b]上n+1个节点a=x_0<x_1<...<x_n=b和这些点上的函数值f(x_i)=y_i,i=0,1,2,...,n,若函数值S(x)满足条件:\)

  • \(S(x_i)=f_i,i=0,1,...,n\)
  • \(S(x)∈C^2[a,b]\)
  • \(S(x)在每个小区间[x_i,x_{i+1}] (i=0,1,...,n-1)上为三次多项式\)

则称\(S(x)\)\([a,b]\)上的三次样条插值函数,称\(x_0,x_1,...,x_n\)为样条节点

例题:
image
答案:\(a=-1,b=3,c=-1\)

给定n+1个插值节点,确定\(S(x)\)需要4n个系数
image
少两个条件!

我们要在端点处补充边界条件:

  • 第一类边界条件(一阶)
    • \(s'(x_0)=f'_0,S'(X_n)=f'_n\)
  • 第二类边界条件(二阶)
    • \(s''(x_0)=f''_0,S''(X_n)=f''_n\)
    • 或者\(S''(x_0)=s''(x_n)=0\)
  • 第三类(周期)边界条件
    • image

总之得到以下公式

\[h_i m_i + 2(h_i + h_{i+1}) m_{i+1} + h_{i+1} m_{i+2} = 6 \left[ \frac{y_{i+2} - y_{i+1}}{h_{i+1}} - \frac{y_{i+1} - y_i}{h_i} \right] \]

  • \(S''(x_0) = S''(x_n)=0时\)\(m_0=m_n=0\)

\[\begin{bmatrix} 1 & 0 & 0 & \cdots & 0 & 0 & 0 \\ h_0 & 2(h_0 + h_1) & h_1 & 0 & \cdots & 0 & 0 \\ 0 & h_1 & 2(h_1 + h_2) & h_2 & 0 & \cdots & 0 \\ 0 & 0 & h_2 & 2(h_2 + h_3) & h_3 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & h_{n-2} & 2(h_{n-2} + h_{n-1}) & h_{n-1} \\ 0 & 0 & 0 & \cdots & 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} m_0 \\ m_1 \\ m_2 \\ m_3 \\ \vdots \\ m_{n-1} \\ m_n \\ \end{bmatrix} \]

\[= 6 \begin{bmatrix} 0 \\ \frac{y_2 - y_1}{h_1} - \frac{y_1 - y_0}{h_0} \\ \frac{y_3 - y_2}{h_2} - \frac{y_2 - y_1}{h_1} \\ \frac{y_4 - y_3}{h_3} - \frac{y_3 - y_2}{h_2} \\ \vdots \\ \frac{y_n - y_{n-1}}{h_{n-1}} - \frac{y_{n-1} - y_{n-2}}{h_{n-2}} \\ 0 \end{bmatrix} \]

  • \(S(x_0)=f'_0,S(x_n)=f'_n\)时:

\[\begin{bmatrix} 2h_0 & h_0 & 0 & 0 & 0 & \cdots & 0 \\ h_0 & 2(h_0 + h_1) & h_1 & 0 & 0 & \cdots & 0 \\ 0 & h_1 & 2(h_1 + h_2) & h_2 & 0 & \cdots & 0 \\ 0 & 0 & h_2 & 2(h_2 + h_3) & h_3 & \cdots & \vdots \\ \vdots & \vdots & \vdots & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & h_{n-2} & 2(h_{n-2} + h_{n-1}) & h_{n-1} \\ 0 & 0 & 0 & \cdots & 0 & h_{n-1} & 2h_{n-1} \end{bmatrix} \begin{bmatrix} m_0 \\ m_1 \\ m_2 \\ m_3 \\ \vdots \\ m_{n-1} \\ m_n \end{bmatrix} = 6 \begin{bmatrix} \frac{y_1 - y_0}{h_0} - A \\ \frac{y_2 - y_1}{h_1} - \frac{y_1 - y_0}{h_0} \\ \frac{y_3 - y_2}{h_2} - \frac{y_2 - y_1}{h_1} \\ \frac{y_4 - y_3}{h_3} - \frac{y_3 - y_2}{h_2} \\ \vdots \\ \frac{y_n - y_{n-1}}{h_{n-1}} - \frac{y_{n-1} - y_{n-2}}{h_{n-2}} \\ B - \frac{y_n - y_{n-1}}{h_{n-1}} \end{bmatrix} \]

例子:设\(f(x)\)为定义在\([0,3]\)上的函数,插值节点为\(x_i=i,i=0,1,2,3,f(x_0)=0,f(x_1)=0.5,f(x_2)=2.0,f(x_3)=1.5\),当\(f'(x_0)=0.2,f'(x_3)=-1\)时,试求三次样条插值函数\(S(x)\)
解:(下面的方式是在公式$$ h_i m_i + 2(h_i + h_{i+1}) m_{i+1} + h_{i+1} m_{i+2} = 6 \left[ \frac{y_{i+2} - y_{i+1}}{h_{i+1}} - \frac{y_{i+1} - y_i}{h_i} \right] $$两边同除\(h_i+h{i-1}\)得到,原理同)
image
image

题目:
image
image

解析:
image

posted @ 2024-12-17 13:24  韦飞  阅读(99)  评论(0)    收藏  举报