...
本文已参与「新人创作礼」活动,一起开启掘金创作之路。
简介
数模中,有时需要根据已知的函数点进行数据处理,但有时现有数据太少,就需要用插值方法,模拟产生一些新的、比较靠谱的数据来满足需求。构造函数,使过这些点,插值点处的函数值即为插值
分类
-
多项式插值,P(x)是多项式
-
分段插值,P(x)是分段多项式
-
三角插值, P(x) 是三角多项式(此处不做讨论)
插值法定理: P(x)个互不相同的节点,满足插值条件的多项式存在且唯一
证:用了范德蒙行列式,具体步骤略
常见的插值算法
拉格朗日插值
对某个多项式函数,已知有给定的 k+1 个取值点: (x0,y0),…,(xk,yk) ,其中 xj 对应着自变量 的位置,而 yj 对应着函数在这个位置的取值。假设任意两个不同的 xj 都互不相同,那么应用拉格朗日 揷值公式所得到的拉格朗日揷值多项式为:
L(x):=j=0∑kyjℓj(x)
其中每个 ℓj(x) 为拉格朗日基本多项式 (或称揷值基函数),其表达式为:
ℓj(x):=i=0,i=j∏kxj−xix−xi=(xj−x0)(x−x0)⋯(xj−xj−1)(x−xj−1)(xj−xj+1)(x−xj+1)⋯(xj−xk)(x−xk)
拉格朗日基本多项式 ℓj(x) 的特点是在 xj 上取值为 1 ,在其它的点 xi,i=j 上取值为 0 。
即:对于给定的 n+1 个点 (x0,y0),(x1,y1),…,(xn,yn) ,对应于它们的次数不超过 n 的拉格朗日 多项式 L 只有一个。
拉格朗日插值是一种多项式插值方法。但因为高次插值会产生龙格现象,两端波动非常大,所以不要轻易使用高次插值。
牛顿插值法
差商:
函数 f(x) 在两个互异点 xi,xj 处的一阶差商定义为:
f[xi,xj]=xi−xjf(xi)−f(xj)(i=j,xi=xj)
2阶差商:
f[xi,xj