一文读懂插值法

插值法

插值方法简介

插值法是根据一组数据点 ( x 0 , y 0 ) , ( x 1 , y 1 ) , … , ( x n , y n ) (x_0, y_0),(x_1, y_1),…, (x_n, y_n) x0,y0,x1,y1,,xn,yn建立一个便于计算的初等函数或曲线 y = f ( x ) y = f(x) y=f(x),使它通过这些给定的数据点:
f ( x 0 ) = y 0 , f ( x 1 ) = y 1 , … , f ( x n ) = y n f(x_0) = y_0, f(x_1) = y_1,…, f(x_n) = y_n f(x0)=y0f(x1)=y1f(xn)=yn
用这种方法所得的近似公式叫插值公式,已知的数据点叫节点。

一维插值方法

拉格朗日多项式插值

拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值
从理论和计算角度看,多项式是最简单的函数之一。
已知函数 f ( x ) f (x) f(x)在互不相同的n+1个点 x 0 , x 1 , … , x n x_0, x_1, …, x_n x0,x1,,xn处的函数值为 y 0 , y 1 , … , y n y_0, y_1, …, y_n y0,y1,,yn 求n次多项式函数 L n ( x ) L_n(x) Ln(x),使其满足:
在这里插入图片描述
其中 L n ( x ) L_n(x) Ln(x) 称为 f ( x ) f(x) f(x)的插值函数,也称为n次拉格朗日插值多项式。
在这里插入图片描述
拉格朗日插值公式:
在这里插入图片描述
在这里插入图片描述
其中 l k ( n ) l_k^{(n)} lk(n)是拉格朗日插值基函数
不难看出, l k ( n ) = 1 , x = x k ; l k ( n ) = 0 , x ≠ x k l_k^{(n)}=1,x=x_k;l_k^{(n)}=0,x\neq x_k lk(n)=1,x=xk;lk(n)=0,x=xk
可以这样子简记:分子和分母形式是一样的,项数也是一样多的,分子只是把分母的 x k x_k xk变成了 x x x,并且在连乘的时候去掉了让分母等于0的那一项,也就是 x k x_k xk的那一项。

n=1时:线性插值
在这里插入图片描述
在这里插入图片描述
n=2时:抛物线插值
n = 2 时,构造通过三个点 ( x 0 , y 0 ) , ( x 1 , y 1 ) , ( x 2 , y 2 ) (x_0,y_0), (x_1,y_1) , (x_2,y_2) (x0,y0)(x1,y1)(x2,y2)的多项式如下
L x ( x ) = l 0 ( x ) y 0 + l 1 ( x ) y 1 + l 2 ( x ) y 2 L_x(x)=l_0(x)y_0+l_1(x)y_1+l_2(x)y_2 Lx(x)=l0(x)y0+l1(x)y1+l2(x)y2
在这里插入图片描述
x = x i x=x_i x=xi时等于1
二次函数(quadratic function)的基本表示形式为 y = a x 2 + b x + c ( a ≠ 0 ) y=ax²+bx+c(a≠0) y=ax2+bx+ca=0。二次函数最高次必须为二次, 二次函数的图像是一条对称轴与y轴平行或重合于y轴的抛物线。

关于基函数的理解
在这里插入图片描述
和上面所说的一样, l i ( x ) l_i(x) li(x)就在 x = x i x=x_i x=xi的时候取值为1,其他时候取值为0

龙格现象
在用插值方法进行函数近似时,当使用高次插值多项式逼近复杂函数时,插值函数在边界处出现剧烈震荡的现象。这种现象主要是由于在边界处使用高次多项式时,插值函数在边界处的震荡效应导致的。而且节点越多龙格现象越明显。
在这里插入图片描述
因此高阶多项式并不是最好的选择

拉格朗日插值法的优缺点
在这里插入图片描述

分段线性插值

由于高次插值多项式存在的振荡缺陷和计算复杂度高等缺点,促使人们转而寻求简单的分段低次多形式插值。
分段低次插值的基本思想是将插值区间划分为若干个小区间,然后在每个小区间上做满足一定条件的低次插值。
简单的说,将每两个相邻节点用直线连接起来,如此形成的一条折线就是分段线性插值函数。插值函数在 [ x i − 1 , x i ] [x_{i-1}, x_i] [xi1,xi]上的表达式为:
在这里插入图片描述
在这里插入图片描述
用分段线性插值计算时,只用到x左右两个节点,计算量与节点个数无关。但是n越大,分段越多,插值误差越小。实际上用函数表作插值计算时,分段线性插值就足够了。

分段线性插值法的优缺点
在这里插入图片描述

三次样条插值

分段插值虽然计算简单,但是光滑性较差。
在数学上,光滑程度的定量描述是:函数(曲线)的k阶导数存在且连续,则称该曲线具有k阶光滑性。光滑性的阶次越高,则越光滑。
三次样条插值就是一个很好的例子

三次样条函数 记为 S ( x ) S(x) S(x),它是定义在区间 [ a , b ] [a, b] [a,b]上的函数,满足以下两个条件:

  1. S ( x ) S(x) S(x) 在每一个小区间 [ x i − 1 , x i ] [x_{i-1}, x_i] [xi1,xi]上是一个三次多项式函数;
  2. 在整个区间 [ a , b ] [a, b] [a,b]上,其二阶导数存在且连续。 即在每个节点处的二阶导数连续.

在这里插入图片描述
三次样条函数求解

参数:每个小段上4个,n个小段共计4n个。
方程:

  1. 每个小段上由给定函数值得到2个,n个小段共计2n个
  2. 光滑性要求每一个内部节点的一阶二阶导数连续,得出其左右导数相等。因此,每个节点产生2个方程,共记2n-2个

现在得到了4n-2个方程,还差两个。为此,常用的方法是对边界节点除函数值外附加要求,这就是所谓的边界条件。这里需要两个边界条件,正好左右两个端点各一个。

在这里插入图片描述
有三种边界条件,这样子就一共有4n个方程了。
常用的有自然边界条件 M 0 = M n = 0 M_0=M_n=0 M0=Mn=0

应用

应用1:神经网络激活函数
在这里插入图片描述
应用2:色调映射
在这里插入图片描述
应用3:色彩增强

在这里插入图片描述

总结

在这里插入图片描述

  1. 拉格朗日多项式插值:这是最基础的一种插值方法,通过给定的数据点构造一个多项式函数,使得该函数在这些数据点上与原函数相等。这种方法虽然简单直观,但在节点较多时可能会出现“龙格现象”,即插值多项式的振荡幅度会变得非常大,导致插值效果不佳。
  2. 龙格现象:这是指当使用高次多项式进行插值时,在数据点之间会出现较大的振荡,尤其是在数据点的两端。这种现象会导致插值结果在某些区间内偏离真实函数值较远。
  3. 分段低次插值:为了解决龙格现象,人们提出了分段低次插值的方法。这种方法将整个插值区间分成若干个子区间,在每个子区间内使用较低次数的多项式进行插值。这样可以避免高次多项式带来的振荡问题,但可能会导致插值曲线在子区间边界处不光滑。
  4. 分段线性插值:这是一种特殊的分段低次插值,其中每个子区间内的插值多项式是一次多项式(即直线)。这种方法简单易行,但插值结果可能不够平滑。
  5. 分段二次插值和三次样条插值:为了进一步提高插值曲线的光滑性,人们提出了分段二次插值和三次样条插值。这两种方法在每个子区间内使用二次或三次多项式进行插值,并且在子区间边界处保证一阶或二阶导数的连续性,从而得到更加平滑的插值曲线。

二维插值方法

二维插值是一种通过已知的离散点数据,在二维平面上推算出其他位置的数值的方法。
在这里插入图片描述
常见的二维插值情况有节点均匀和节点不均匀两种。

节点均匀(网格)

已知 z = f ( x , y ) z=f(x,y) z=f(x,y)在一些点取值,节点分布很均匀,落在由一系列平行直线组成的矩形网络的各个顶点上
在这里插入图片描述

节点不均匀(散点)

节点分布散乱
在这里插入图片描述
二维插值举例:
在这里插入图片描述
步骤:

  1. 确定4个近邻像素
  2. 在x轴进行插值
  3. 在y轴进行插值

左上角蓝色的点计算步骤:
x轴插值结果:8-7/4=6.25 3+2/4=3.5
y轴插值结果:6.25-(6.25-3.5)/4=5.5625
左上角红色点为6.25,中间红色的点为3.5,所以左上角的蓝色的点需要用两个红色点表示出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值