插值算法

在工程和数学应用中,经常有这样一类数据处理问题,在平面上给定一组离散点列,要求一条曲线,把这些点按次序连接起来,称为插值。
插值算法[数学建模]

一维数据插值方法

插值算法[数学建模]

已知 n+1 个点 (xi ,yi)(i = 0, 1, … , n) 下面求各种插值函数。

分段线性插值

简单地说,就是将每两个相邻的节点用直线连接起来,如此形成一条折线就是分段线性插值函数,记作 I(x),它满足I(xi) = yi,且 I(x) 在每个小区间 [xi, xi+1] 上是线性函数 (i = 0,1,…,n-1)。
具有良好的收敛性
计算 x 点差值时,只用到 x 左右两个节点,计算量与节点个数 n 无关。但 n 越大,分段越多,插值误差越小。
插值算法[数学建模]

分段二次插值(分段抛物插值)

拉格朗日插值法

百度百科定义如下图:
插值算法[数学建模]
插值算法[数学建模]

龙格现象

插值多项式次数越高误差越小吗?不是的

高次插值会产生龙格现象,即在两端波动大,产生明显的震荡
在不熟悉曲线运动趋势得前提下,不要轻易使用高次插值。

牛顿插值法

插值算法[数学建模]
牛顿插值法的计算过程具有继承性

拉格朗日、牛顿插值法 不能全面反映被插函数性态。

埃尔米特插值法

不仅要求节点函数值相等,也要求对应导数值相等,甚至高阶导数。
插值算法[数学建模]
分段减轻龙格现象

分段三次埃尔米特插值PCHIP

Matlab有内置函数:
p = pchip(x , y , new_x);

样条插值

数学上将具有一定光滑性的分段多项式成为样条函数。

三次样条插值

条件:二阶连续可微
插值算法[数学建模]
Matlab有内置函数:
p = spline(x , y , new_x);

n维数据插值

插值算法[数学建模]

相关文章: