函数插值与曲线拟合
(一)引言
实际上函数插值与曲线拟合都是研究函数的表达或近似的方式
1、常见的函数形式
- 函数是通过实验和观测得到的不知道具体的解析式。比如只是通过实验测得了一些x和y对应的数据对。
- 有明确的表达式但是由于形式复杂,不利于分析和计算,比如函数不利于求导。
共同特点
【函数表】插值都是围绕这个展开,第一种可直接通过记录观测数据得到函数表,第二种通过直接的x代入表达式计算得到函数表(就是即使我明确的知道了这个函数表达式,那么应用到实际中,最准确的也不一定是最好的,)
要研究的问题:【函数表】->【如何构造函数的表达式】->【如何评价这种表示的优劣?】
2、插值与拟合的区别
插值:把所有的已知点全部连接在一起得到的函数表达,必须经过每一对函数点。缺点就是如果噪声点过多,函数的表达式肯定是不准确的,而且由于它希迁就所有的点就会造成过拟合的现象。
拟合:不需要必须经过所有的函数点,只需要每个点到这条直线的距离之和是最小的。
3、函数插值的应用
- 图像处理:
图像是点阵图,即像素矩阵。当对图像进行缩放的时候需要对缺失的像素进行插值处理。
常用的图像处理算法:
最近邻插值法、双线性插值法、双三次插值法 - 数码变焦
- 插值方法在数值分析的许多分支(例如,数值积分、数值微分、微分方程的数值解【可以查看一下,是把求出的连续解表达成离散值】、曲线曲面的拟合、函数值近似计算等)均有应用。
(二)Lagrange插值法
1、插值法的一般概念
⚠️一共使用了n+1个点,而且要求为互异点
⚠️要已知这些点对应的函数值(也就是已知函数表)
要找到的是在已知函数表的基础上满足插值条件的函数。
2、代数多项式插值
3、Lagrange插值
⚠️这里只有函数的插值条件
⚠️两个特点:1. 满足代数多项式插值 2. 只有函数信息没有导函数的信息
- 现在存在的问题:
- 为什么不高于n次?
- 已知函数表如何构造出函数表达式?
- Ln(x)是否存在且唯一?
存在性和唯一性
首先Ln(X)如果是存在且唯一的则a0~an都是存在且唯一的,那么就把问题进行了第一步转化,然后利用(5.2.3)将Xi和Yi的值进行代入得到了如上图所示的方程组。n+1个未知量ai,n+1个方程组,如果这个方程组的解是存在且唯一的,那么这个Ln(x)就是存在且唯一的。把系数矩阵写出行列式不等于0。
因为所有的xi都是互异的,所以所有的都不可能是0。(vendormade行列式)
意义:
- 其他的所有的情况的函数都可以转换到这个多项式,那么其他插值法的余项就可以转换到这里使用一个余项公式。
- 虽然表达式是存在且唯一的但是形式是多种多样的。
什么情况下不是唯一的? - Xi不是互异的,所以互异这个条件很重要
- 不限制Ln(x)的次数大于n也不唯一
⚠️但是如果要求的话不用待定系数法(规模较大的时候不易求解,而且规模较大的话方程组会增加,方程组容易病态)
插值余项
当把节点代入Ln(x)的时候是准确的表达,但是除了n+1个点之外的点代入就存在误差了。插值节点上的插值余项是0。
这里的余项定理要记住!!!
Rn(X)只能去估计不能去确切求解,后面的式子是n+1次的多项式,后面的式子包括了所有节点和x的乘积,包括了所有节点的信息。
证明定理
- 证明罗尔定理结论
- 分析定理证明思路
- 真正的证明
Rolle定理内容
如果 R 上的函数 f(x) 满足以下条件:(1)在闭区间 [a,b] 上连续,(2)在开区间 (a,b) 内可导,(3)f(a)=f(b),则至少存在一个 ξ∈(a,b),使得 f’(ξ)=0。
Rolle定理的推广
如果f(X)在区间[a,b]上有n+2个零点,那么f‘(x)有n+1个零点,f’’(x)有n个零点,依次递推。
这里构造函数的选择就和高数中那些中值定理的函数选择方式是一样的,就是将已知的表达式移项变成一个一侧为0的式子然后让另一侧为构造函数的表达式再换个字母当自变量。
- 然后现在是在找这个Rn(x)这个等式的解的个数,要让它为0嘛,后面的那些X0~Xn代入之后因为后面的部分是(x-x0)…(x-xn)所以X0~Xn一定是解,但是前面的F(x)也需要是有解的,那么从F(x)得出的解就和那n+1个数值构成了这个函数的所有解。
- 那个【所以】那里是根据上面的
Rn(x)=f(x)-Ln(X)
为0然后后面的(x-x0)(x-x1)...(x-xn)
都是根据这个构造出来的,就是说因为是根所以在这个式子等于0的时候一定能够从中分离出来这些式子,然后就看这个函数在除掉这些式子之后的式子的解了。 - 然后后面的x为啥就是解呢?因为将x(其实这个x就是设了一个解)代入之后前面的
f(t)-Ln(t)
部分就等于Rn(t)
,而后面构造的式子本身也是Rn(t)
的一种表现形式所以二者相减为0,这个x也是解。所以这个方程一共就有n+2个解,对应的函数就有n+2个零点。
这里面是根据如果f(X)在区间[a,b]上有n+2个零点,那么f‘(x)有n+1个零点,f''(x)有n个零点,依次递推。
会得到最后的n+1阶导数至少存在一个点,用上式先求n+1阶导数,然后根据上面的话选择一个 ξ代入即可。
插值公式
如何求解Ln(x)?采用构造法。
(1)线性插值
得出的是直线方程(函数角度)
(几何角度:误差很大)
几种构造方法
- 待定系数法
- 点斜式
3. 对称式
形式上虽然不一样但是实际上都是一个表达式。
L(x)可以写成li(x)【插值基函数(插值基函数里面只和插值点x的值有关和函数值y没有任何关系)】的线性组合,系数是y0和y1(y的信息在系数部分)。
插值基函数固有性质:
(2)抛物线插值
体现出Lagrange没有承袭性。⚠️注意这里面的A,B,C和插值基函数不一样,ABC和y有关,而插值基函数只和插值节点有关和插值基函数的函数值无关。插值基函数的固有性质就是把插值节点代入之后函数值要么是0要么是1,次数不能超过二次,而且抛物线已知三个节点就可以画出图像。
(3)一般插值公式
注意上面构造的这个函数里面咩有k=i
的情况,有n个,前面补一个A构成一个n+1次多项式。如果是构造的是n次,一直n-1的根,前面的就设的不是常数是Ax+B这种形式,所以这个要根据实际的情况看看已知的根是不是已经满足次数的需要了。
如果余项不写是近似的关系,如果写上是等于的关系。
例题
相当于让求x=125的时候函数值是多少
1.线性插值
如果选择两个节点的话根据就近原则,选择节点。
先把表达式写出来,然后再进行代入求解,不是先代入。
2. 抛物线插值
不是n取得越大越好,会出现runge现象导致误差超级大。
(三)NEWTON插值法
Lagrange插值的缺点:
- 荣格现象
- 不具有承袭性(就是后面增加节点之后还得全部重新构造用不上前面的)
函数值本身是零阶差商。二阶差商注意分母!!!
这个结论超级有用!!!!
如何通过差商表构造Newton插值???
下面这个公式要背下来!!!
例题:
(四)三次Hermite插值
在函数表中不仅仅有函数的信息还有导函数的信息。
(1)整齐的Hermite插值
这里面是4个式子构造三次多项式(这里一定要清楚),这里x0和x1都用了两次。
方法一
然后构造基函数的形式,根据其上面的固有性质构造,找零点。
后面谁用了几次后面的x-xi就是几次方。
方法二
就是在节点相同的地方的值换了一种表示方法换成了导数值,其余的地方和之前一样。