1 .插值算法的用途在数模比赛中,如果需要用已知数据进行分析,则可能发生已知数据的丢失/不足,在这种情况下,可以利用该方法生成可靠的数据点。 数据量太小,需要增加数据量以提高算法的执行效果。 举例来说,如果机器学习和深度学习中的样本太少,那么可使用插值方法获得更多样本值。 需要预测某个区域的值。 插值算法计算插值点的值。 2 .什么是插值算法? 插值算法的重点是找出包含所有插值函数――已知数据点的函数
3 .插值法分类插值法-只对已知数据点集合内部的点进行的插值运算称为插值,可以比较准确地估计插值点上的函数值。 外推-当插值点位于已知数据集之外时的插值称为外推,很难估计外推函数值。 四、建模竞赛常用插值方法—分段插值拉格朗日插值、asjdkj插值、hermite插值均存在龙格现象问题,请参阅所以采用分段插值来避免这种现象。
龙格现象:一种计算方法是利用多项式对一个函数的近似来计算相应的函数值。一般来说,多项式的次数越多,所需的数据就越多,预测也就越准确。插值次数越高,插值结果越偏离原函数的现象称为龙格现象。.
从上面不同阶数下图像的比较图可以很容易地看出龙格现象。 图:当n=10阶时,曲线两端波动极大,且n越大越明显。 我们应该尽量避免这种现象的发生
分段插值包括分段三次Hermite插值和三次样条插值。 一般的建模比赛可以用这两种方法求解
1 .分段3次Hermite插值【MATLAB对应函数: p=PChipx,y,new_x )】
使用方法很简单。 MATLAB有封装的函数,直接调用就可以了。 函数为PChipx,y,new_x )
上图有具体说明。
2 .三次样条插值【MATLAB对应函数: p=splinex,y,new_x )】
五.总结
插值算法比较容易实现,只需调用对应的函数就可以用不同的插值算法求出包含所有已知个数据点的插值函数。 但是,在满足该基本要求的基础上,插值函数有不同的制约条件。