本章涉及知识点
1、插值问题的定义
2、插值基函数
3、Lagrange插值多项式
4、 Lagrange线性插值
5、 Lagrange抛物线插值
6、 Lagrange插值误差
7、实际案例演示Lagrange线性插值和抛物线插值
一、插值问题的定义
在实际问题中,我们往往需要计算y=f(x)的解,而很多时候f(x)可能很复杂,甚至没有其具体的函数表达式,比如微积分问题中原函数不能用初等函数来表示,那么此时应该怎么求解f(x)呢?
通常情况下,我们可以方便的测量到一些f(x)的节点,得到数据表如下
根据测量到的数据表,插值问题可描述为:已知某一个函数f(x)在闭区间[a,b]上测量到若干个函数值(及其若干阶导数值),如何计算f(x)在区间上任意一点x的近似值?
插值问题分为代数多项式,三角多项式,有理函数等,我们主要演示代数多项式插值
多项式插值的数学模型为:在测量的数据表中,求解一个次数不超过n的多项式来拟合f(x)
使得
二、插值基函数
为了构造出这个n次多项式,我们先构造一个n+1个n次多项式函数li(x)来描述多项式
拟合的目标为
展开行列式为
为了拟合目标,ai需要满足
因此,需要使得行列式坐标的矩阵是单位矩阵,则可以推导出li(x)的表达式为下面分段函数
由以上分段函数可知,li(x)的最高次幂为n次,所以li(x)函数可写为n个差分相乘
带入li函数的值li(x)=1求解出系数矩阵Ai
带入系数矩阵Ai,得到li函数的表达式为
三、Lagrange插值多项式
根据要拟合的目标
Lagrange多项式定义为
可知当li=1时,Lagrange多项式即完成f(x)所有值域的拟合
四、Lagrange线性插值
当我们需要构造的多项式只有一个相加计算,即n=1时,由Lagrange多项式的定义可得
我们用L1(x)来近似的拟合了f(x)。其几何意义为通过曲线f(x)的两点(x0,y0)和(x1,y1),由一条直线L1(x)来近似拟合该曲线f(x)
五、Lagrange抛物线插值
同理, 当我们需要构造的多项式有两个相加计算,即n=2时,由Lagrange多项式的定义可得
我们用L2(x)来近似的拟合了f(x)。其几何意义为通过曲线f(x)的三点(x0,y0),(x1,y1)和(x2,y2),由一条抛物线L2(x)来近似拟合该曲线f(x)
六、Lagrange插值误差
Lagrange插值的误差定义为
其中M是目标函数f(x)的n+1阶导数的上界
七、实际案例演示Lagrange线性插值和抛物线插值
下面我们利用上述知识点,来近似计算sin(0.3367)=?
假设我们已知f(x)=sin(x)上的三个点
目标是计算出sin(0.3367),在不调用API的基础上,我们分别用Lagrange线性插值和抛物线插值来近似计算结果和误差,最后和调用API计算的结果相比
分别带入已知点和计算点,得到结果为
可以看到两种插值算法的结果都近似逼近API计算结果,并且随着多项式的项数增加,计算精度也随着提高
案例代码见:Lagrange插值算法