写在前面
插值问题讲的是啥呢?实际上就是求原函数,但是我们这里只有几个离散点的值,本章主要研究的就是不同的方法求出不同的插值多项式。
1.1 拉格朗日插值多项式
线性插值:线性插值是最简单的插值函数,就是两点决定一条直线,用两点式表示了而已。
那我们换一种表示方法,把两点式中的两个式子给他换个名字:
这个
l₀
和l₁
就是传说中的线性插值基函数
接下来讲一个贯穿整个插值函数的例题:
现在看这道题可能有点简单,到了后面再做的时候就明白这道题的霸道啦~
抛物插值:抛物插值就是线性插值的进阶版,给出三个点,求出来的插值多项式就是所谓的抛物插值。
从线性插值中推理过来:
这里面的
l₀
,l₁
,l₂
展开后,就是介个样子:那我们再把这个例题掏出来:
很明显,这个结果比线性插值精度高一些~
一般的:
对于我们的lᵢ
:
那一般的插值基函数就是这样的:
lᵢ
,被减数是lᵢ
,这是个用来记忆的规律~
所以根据基函数,可以得到n阶插值多项式的表达方式如下:为了表示方便,引入w来做一个标记,w实际上就是分母:
实际上吧,我觉得这里没有太大必要这样表示,但是为了后续的理解,姑且先记一下叭~绕了个小弯。
1.2 拉格朗日插值多项式余项
啥是余项?
通俗来讲,余项就是误差,所以插值多项式的余项可以表示成:
f(x)
是精确解,Lₙ(x)
是所求的多项式。
再进一步写:快看这里的w眼熟不!就是上面那个展开奇奇怪怪的东西~
具体的证明不需要记,但是要记住,余项表达式只有在f(x)
的高阶导数存在时才能用。
通常,我们求函数的n+1
阶导数max|fⁿ⁺¹(x)| = Mₙ₊₁
,从而将误差放缩:
所以,我们直接拿来结果!
n=1
时,即线性插值余项:
n=2
时,即抛物插值余项:
那我们再把上面那道例题掏出来,这里的运算比较复杂, 考试估计不会这样,但求误差估计的方法很典型,看明白就好
这里方法有一个局限性,就是必须要知道导函数的上界,属于事前误差估计,那如果上界不知道呢?
事后误差估计方法
事后误差估计是个怎么回事儿呢?通俗来讲,就是多算一位,分别把Lₙ
和Lₙ₊₁
的式子算出来,近似相等,可以得到结果和误差:
1.2 差商
定义: 一阶差商就是,函数值之差比上自变量之差:
二阶差商就是一阶差商的差商:
那么一般地,K阶差商:
性质
- K阶差商可以表示为f(x0)···f(xk)的线性组合
- 差商与节点的排列次序无关,具有对称性
计算:使用差商表最方便
另外还有一个题型无法使用差商表:
这时候要想起来一个和计算有关的性质:
则有:
一般这样的题型求导之后,导数值都是一个常数,可以直接计算出结果。
1.3 牛顿插值多项式
实际上牛顿和拉格朗日插值是等价的,拉格朗日插值有高度的对称性;牛顿插值多项式来自于差商,其意义在于具有承袭性,即增加一项可以从上一项推出来。
定义式:Newton插值余项
又双叒叕掏出来上面那道例题:
在使用Newton插值多项式的时候,先根据变量值和函数值计算出差商表,再结合公式带入即可:
1.4 分段插值
龙格现象:所谓龙格现象,就是当插值多项式的次数随着节点个数增加时,有可能产生激烈的震荡从而不符合原函数。
分段插值:分段插值就是将被插值函数分成一小段一小段,在每个小段里面逼近,从而达到比较好的效果。
1.4.1 分端Lagrange插值
分段线性插值:将一个区间化为n个小区间,记h
是所有区间长度的最大值,则Ih
在[a,b]上连续、存在且在每一段上都是线性多项式,即为分段线性差值函数。
实际上就是在每个小区间上的折线,可以用拉格朗日插值多项式表示:
重点要记一下余项的算法:
分段线性插值:
分段二次插值:
1.4.2 分段Hermit插值
为了克服拉格朗日插值中,分段点处不可导的问题
这边的证明太太太长了,我们记几个关键的公式即可:
三次Hermit插值公式:
其中的四个式子就是三次Hermit插值基函数
还是用一道例题熟悉吧
方法一:基函数法
方法二:待定系数法我觉得待定系数好理解一点emm
1.5 样条函数
样条函数的特点是。充分光滑,即导数连续;又有一定的间断性,即分段的特性。
三次样条插值
计算三次样条函数时,需要的边界条件:
- 端点处的一阶导数:
- 端点处的二阶导数:
当二阶导数的两端点值都为0时,称为自然边界条件,样条函数称为自然样条函数- 若
f(x)
是周期函数,且xn-x0
是一个周期,则要求S(x)
也是周期函数:
整个例题理解一下:
这种题的解法围绕定义下手,S(x)
需满足在作用域内二阶连续可导,且一阶和二阶导函数连续,带入即可。
接下来讲讲三次样条插值函数的计算方法
三转角方法(题目中给的是端点一阶导数):
这是由分段Hermit推来的式子,放在这帮助理解
具体的公式推导实在太麻烦,直接上干货,先记几个公式:其中h是划分每一段的长度,为简便计算,引入三个已知量:这里的
mi
是样条函数的一阶导数,结合上面三个式子,就能得到mi
还是整个例题看看吧:
这里把区间分成三份,首先计算λ
、μ
、g
,由公式代入可得:这里不要被那个矩阵唬住了,想不明白为什么就带入上面公式的最后一个求mi
,通过λ
、μ
、g
解二元一次方程组。
三弯矩方法(题目中给了端点的二阶导数)
记Mi
为S的二阶导数,则有:
再次引入λi
、μi
、di
:
从而求解Mi:
再来个类似的例题:
同样分为三份区间,带入公式:
1.6 数据拟合的最小二乘法
这里就不过多证明,直接上例题寻找考点吧
解法过程如下:
- 先描点画一个大概的草图,判断函数的次数,本题可以看出是一次
- 用幂函数拟合曲线,即用g(x) = 1+x+x²+x³+····作为拟合多项式
- 结合给出的离散数据写出向量,然后两两做内积
其中系数分别为φ0
和φ0
内积=8,φ0
和φ1
内积=4、φ1
和φ1
内积44,φ0
和f
内积=3.9,φ1
和f
内积=46
再来一个题型:
这个题型的主要方法就是,把解方程组,转化为求G(x,y)
的最小值,即每一项都为零的时候成立,进一步转化成求偏导:
最终求得的是近似解而非精确解。
习题
1.插值多项式的次数与插值节点的个数有关系。
正确
2.若n+1个插值节点互不相同,则满足插值条件且不大于n次的插值多项式唯一存在
。
3.拉格朗日插值基函数满足插值条件,lk(xi)= a,(i=k)
;lk(xi)= b,(i≠k)
。则a=1
,b=0
。
4.用拉格朗日插值法求插值多项式就是对应节点xk的基函数lk(x)与相应节点函数值yk乘积之和。正确
5.插值多项式余项中的ζ与x无关。错误
1.Newton插值法的插值基函数既有与节点相关又有升幂的特点,从而改进了拉格朗日插值不具有继承性的不足。
正确
2.差商f[x0,x1,x2] = f[x1,x0,x2] = f[x1,x2,x0]。正确
3.插值节点从x0到xn,对节点重新排列之后,对应的Newton插值是否相等?相等
4.n+1个节点的拉格朗日插值多项式与牛顿插值多项式只是表现形式不同,实质上是等价的。正确
5.Newton插值多项式中,每增加一个插值节点,所有的差商值都需要重新计算。错误
1.Runge现象产生的原因是插值节点不多。
错误
2.插值多项式的余项随着节点的增多而在某些点可能产生激烈的震荡
3.分段线性插值克服了高次插值多项式误差可能产生震荡的不足,但分段线性插值函数在整个插值区间上只能保证连续,但不连续可导
。
4.三次样条插值函数S(x)是分段函数。
5.三次样条插值要求插值函数在整个插值区间上都是三阶连续可导。错误
6.已知相同的离散数据,插值和逼近(拟合)可获得相同的函数表达式。错误
7.用最小二乘法进行数据拟合时,获得的正则线性方程组的系数矩阵是对称矩阵。正确
书后题:
后记
这一章太难了,太难了,加油兄弟们