第3讲 插值算法
数模比赛中,常常需要根据已知的函数点进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的斤进行,这时就需要使用一些数学的方法,“模拟产生”一些新的但又比较靠谱的值来满足需求,这就是插值的作用。
一、引出
(一)概念
插值法是目前我们一直几个点,找到同时经过这几个点的函数,将这个函数作为插值函数,当我们面对未知点(x,y)时,我们认为点在插值函数上,将x直接代入函数中,获得其y值,这就是插值算法的用处。
1.一般定义
2.插值函数
(二)一般多项式插值定理
对于n+1个互不相同的节点,存在唯一的n次多项式同时经过这n个点,具体的数学证明过程如下:
二、方法
(一)拉格朗日插值法
利用拉格朗日插值多项式进行插值。
(二)牛顿插值
(三)拉格朗日插值VS牛顿插值
与拉格朗日插值法相比,牛顿插值法的计算过程具有继承性(牛顿插值法每次插值只与前n项的值有关,这样每次只要在原来的函数上添加新的项,就能够产生新的函数),但是同样会由于次数过高存在龙格现象。
1.龙格现象
高次插值会产生龙格现象,即在两端处波动极大,产生明显的震荡。在不熟悉曲线运动趋势的前提下,不推荐轻易使用高次插值。
一个减少龙格现象的方法
由于插项多项式的准确度并不会随着次数的增加而持续增大,同时,过高的次数会导致误差增大,如何提升插值的精确度,解决龙格问题——分段插值。
2.另一个问题
拉格朗日插值与牛顿插值相同,其均要求插值多项式在插值节点处于被插函数的值相同,但是不能全面反映被插值函数的性态(例如一阶导/二阶导)
然而在许多实际问题中,不仅要求被插值函数与插值函数在所有节点处的值相同,可能还要求其在所有点中的低阶导甚至高阶导相同。
三、推荐方法
(一)三次埃尔米特插值
1.埃尔米特插值
要求值相同,并且在所有点的一阶导数相同
原理如图:
2.分段三次埃尔米特插值
埃尔米特插值仍然存在龙格现象,我们通过分段来减少龙格现象的发生,一般采用三次埃尔米特插值。
(二)三次样条插值
三次样条插值,要求所有点的值相同,一阶导相同,二阶导也相同,相对来说比起埃尔米特插值,三次样条插值的曲线更加平滑。
四、应用
插值算法可以用于少数数据的填补,短期预测。
但是当样本值过多时,插值算法的函数会比较复杂,而且可能并不能呈现曲线正确的变化状况,因此需要权衡。一般当样本很多时,我们可能会采用拟合的方式,找到函数。