数值计算方法 Chapter1. 插值

Posted Espresso Macchiato

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数值计算方法 Chapter1. 插值相关的知识,希望对你有一定的参考价值。

1. 定义

插值问题的本质其实就是:

  • 给定一堆采样点,然后构造一个函数来对这堆采样点背后的真实函数表达进行拟合。

即是说,找一条经过这一堆采样点的曲线来对这些采样点背后的真实函数曲线进行描述。

我们给出书中的定义如下:

f ( x ) f(x) f(x)为定义在区间 [ a , b ] [a,b] [a,b]上的函数, x 0 , . . . , x n x_0, ..., x_n x0,...,xn [ a , b ] [a,b] [a,b]上的 n + 1 n+1 n+1个互不相同的点, Φ \\Phi Φ为给定的某一函数类,若 Φ \\Phi Φ上有函数 ϕ x \\phix ϕx,满足
ϕ ( x i ) = f ( x i ) ,   i = 0 , 1 , . . . , n \\phi(x_i) = f(x_i), \\ i=0,1,...,n ϕ(xi)=f(xi), i=0,1,...,n
则称 ϕ ( x ) \\phi(x) ϕ(x) f ( x ) f(x) f(x)关于节点 x 0 , . . . , x n x_0, ..., x_n x0,...,xn Φ \\Phi Φ上的插值函数。称点 x 0 , . . . , x n x_0, ..., x_n x0,...,xn插值节点;称 ( x i , f ( x i ) ) ,   i = 0 , 1 , . . . , n (x_i, f(x_i)), \\ i=0,1,...,n (xi,f(xi)), i=0,1,...,n插值型值点,简称型值点或者插值点 f ( x ) f(x) f(x)称为被插函数

2. Lagrange插值

1. 定义 & 实现

Lagrange插值公式本质上就是用一个 n n n阶函数来拟合这些采样点,因此,我们事实上就是要解如下方程组:

y 0 = a 0 + a 1 x 0 + a 2 x 0 2 + . . . + a n x 0 n y 1 = a 0 + a 1 x 1 + a 2 x 1 2 + . . . + a n x 1 n . . . y n = a 0 + a 1 x n + a 2 x n 2 + . . . + a n x n n \\left\\ \\beginaligned y_0 &= a_0 + a_1 x_0 + a_2 x_0^2 + ... + a_n x_0^n \\\\ y_1 &= a_0 + a_1 x_1 + a_2 x_1^2 + ... + a_n x_1^n \\\\ ... \\\\ y_n &= a_0 + a_1 x_n + a_2 x_n^2 + ... + a_n x_n^n \\endaligned \\right. y0y1...yn=a0+a1x0+a2x02+...+anx0n=a0+a1x1+a2x12+...+anx1n=a0+a1xn+a2xn2+...+anxnn

当满足 x 0 , . . . , x n x_0, ..., x_n x0,...,xn互异时,上述方程的解是唯一的。

而Lagrange直接给出了一个插值函数,令其满足上述 n + 1 n+1 n+1个方程,亦即Lagrange插值函数:

L n ( x ) = ∑ i = 0 n l i ( x ) y i L_n(x) = \\sum_i=0^n l_i(x) y_i Ln(x)=i=0nli(x)yi

其中, l i ( x ) l_i(x) li(x)满足条件:

l i = 1  if  x = x i l i = 0  if  x = x j ,   j ≠ i \\left\\ \\beginaligned l_i &= 1 \\text if x = x_i \\\\ l_i &= 0 \\text if x = x_j, \\ j \\neq i \\endaligned \\right. lili=1 if x=xi=0 if x=xj, j=i以上是关于数值计算方法 Chapter1. 插值的主要内容,如果未能解决你的问题,请参考以下文章

图像处理中的“内插”是什么?插值图像内插值图像间插值重取样(用已知数据来估计未知位置的数值的处理)(最近邻内插法双线性内插)

数值计算算法-多项式插值算法的实现与分析

Python与数值计算方法

Python实现数值计算----分段二次插值

数值计算方法实验之按照按三弯矩方程及追赶法的三次样条插值 (MATLAB 代码)

Python实现数值计算----牛顿插值法