第3讲 插值算法

数模比赛中,常常需要根据已知的函数点进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的斤进行,这时就需要使用一些数学的方法,“模拟产生”一些新的但又比较靠谱的值来满足需求,这就是插值的作用。

一、引出

(一)概念

插值法是目前我们一直几个点,找到同时经过这几个点的函数,将这个函数作为插值函数,当我们面对未知点(x,y)时,我们认为点在插值函数上,将x直接代入函数中,获得其y值,这就是插值算法的用处。

1.一般定义

Pasted image 20240727134555.png

2.插值函数

Pasted image 20240727134608.png

(二)一般多项式插值定理

对于n+1个互不相同的节点,存在唯一的n次多项式同时经过这n个点,具体的数学证明过程如下:
Pasted image 20240727134806.png
Pasted image 20240727134822.png

二、方法

(一)拉格朗日插值法

利用拉格朗日插值多项式进行插值。
Pasted image 20240727134915.png

(二)牛顿插值

Pasted image 20240727135122.png

(三)拉格朗日插值VS牛顿插值

与拉格朗日插值法相比,牛顿插值法的计算过程具有继承性(牛顿插值法每次插值只与前n项的值有关,这样每次只要在原来的函数上添加新的项,就能够产生新的函数),但是同样会由于次数过高存在龙格现象

1.龙格现象

高次插值会产生龙格现象,即在两端处波动极大,产生明显的震荡。在不熟悉曲线运动趋势的前提下,不推荐轻易使用高次插值。
Pasted image 20240727135438.png
一个减少龙格现象的方法
由于插项多项式的准确度并不会随着次数的增加而持续增大,同时,过高的次数会导致误差增大,如何提升插值的精确度,解决龙格问题——分段插值
Pasted image 20240727135700.png

2.另一个问题

拉格朗日插值与牛顿插值相同,其均要求插值多项式在插值节点处于被插函数的值相同,但是不能全面反映被插值函数的性态(例如一阶导/二阶导)

然而在许多实际问题中,不仅要求被插值函数与插值函数在所有节点处的值相同,可能还要求其在所有点中的低阶导甚至高阶导相同。

三、推荐方法

(一)三次埃尔米特插值

1.埃尔米特插值

要求值相同,并且在所有点的一阶导数相同

原理如图:
Pasted image 20240728225853.png

2.分段三次埃尔米特插值

埃尔米特插值仍然存在龙格现象,我们通过分段来减少龙格现象的发生,一般采用三次埃尔米特插值。

(二)三次样条插值

三次样条插值,要求所有点的值相同,一阶导相同,二阶导也相同,相对来说比起埃尔米特插值,三次样条插值的曲线更加平滑。
Pasted image 20240728230242.png

四、应用

插值算法可以用于少数数据的填补,短期预测。
但是当样本值过多时,插值算法的函数会比较复杂,而且可能并不能呈现曲线正确的变化状况,因此需要权衡。一般当样本很多时,我们可能会采用拟合的方式,找到函数。