上学读书的时候对于数值分析的课程没有好好学过,直到工作了才发现会用到很多数值分析的算法,真应了那句话“出来混的,迟早要还的”,上学时玩的有多疯狂,工作时都要加倍补回来。这一篇先介绍拉格朗日插值算法,后边还有牛顿-辛普森法、最小二乘、极大似然、卡尔曼滤波……写这些文章的原因一方面是让自己掌握这些方法,二是能够让自己以后忘记时看到这些文章立马就能重新捡起这些知识,三是希望帮到一些需要了解这些知识的同学。
一、拉格朗日插值算法的提出背景
插值是一种定义函数的过程,而该被定义的函数一定要在指定的点集上具有指定的函数值。一种多项式之所以被称为插值多项式,是因为它能够精确的重新生成给定的数据。
约瑟夫·拉格朗日是一位杰出的数学家和物理学家,他在数学和力学领域做出了许多重要的贡献。其中最著名的是他所发明的拉格朗日方程,它被广泛应用于现代工程、科学和技术的各个领域中。此外,拉格朗日还发明了拉格朗日乘子法和拉格朗日插值法等计算方法,并对这些方法的发展做出了重要贡献。
二、拉格朗日插值算法原理
给定一组n个数据点,要求出一个精确拟合这些点的n-1次多项式的一种方法为
其中系数C0,...,Cn必须满足
这个矩阵称为范德蒙矩阵,只要x0,...,xn互不相同,就能证明矩阵非奇异。但很不幸的是,这个矩阵通常是非常病态的,用高斯消元法或QR分解这个方程组需要O(n3)次运算,因此多项式插值问题通常不用此方法求解。
把多项式P表示成下列形式