整理一下数值分析的笔记~
目录:
1. 误差
2. 多项式插值与样条插值(THIS)
3. 函数逼近
4. 数值积分与数值微分
5. 线性方程组的直接解法
6. 线性方程组的迭代解法
7. 非线性方程求根
8. 特征值和特征向量的计算
9. 常微分方程初值问题的数值解
1. 拉格朗日基函数
定义. 设
lk(x)是n次多项式,在插值节点
x0,x1,...,xn上满足:
lk(xj)={1,0,j=kj̸=k
则称
lk(x)为节点
x0,x1,...,xn上的拉格朗日插值基函数。
n=1
→ 线性插值
问题定义:给定区间
[xk,xk+1]及端点函数值:
yk=f(xk),yk+1=f(xk+1),求线性插值多项式
L1(x),使其满足
L1(xk)=yk,L1(xk+1)=yk+1。
不难看出几何上就是通过两点的直线,两点式有:
L1(x)=xk+1−xkxk+1−xyk+xk+1−xkx−xkyk+1
即
L1(x)是两个线性函数
lk(x)=xk+1−xkxk+1−x,lk+1(x)=xk+1−xkx−xk
的线性组合,系数分别是
yk和yk+1,即:
L1(x)=yklk(x)+yk+1lk+1(x)
显然:
lk(xk)=1,lk(xk+1)=0lk+1(xk)=0,lk+1(xk+1)=1
称
lk(x)和lk+1(x)为线性插值基函数。
n=2
→ 抛物插值
同理,假定插值节点为
xk−1,xk,xk+1,求二次插值多项式
L2(x)使其满足
L2(xj)=yj,(j=k−1,k,k+1),几何上其为通过三点
(xk−1,yk−1),(xk,yk),(xk+1,yk+1)的抛物线,用基函数的方法求
L2(x)的表达式,此时基函数
lk−1(x),lk(x),lk+1(x)是二次函数,且在节点上满足条件:
lk−1(xk−1)=1,lk−1(xk)=0,lk−1(xk+1)=0lk(xk−1)=0,lk(xk)=1,lk(xk+1)=0lk+1(xk−1)=0,lk+1(xk)=0,lk+1(xk+1)=1
以
lk为例,由上面的式子可以知道它有两个零点
xk−1,xk+1,有
lk(x)=A(x−xk−1)(x−xk+1),其中A为待定系数,根据
lk(xk)=1定出:
A=(xk−xk−1)(xk−xk+1)1
于是有:
lk(x)=(xk−xk−1)(xk−xk+1)(x−xk−1)(x−xk+1)
同理:
lk−1(x)=(xk−1−xk)(xk−1−xk+1)(x−xk)(x−xk+1)lk+1(x)=(xk+1−xk−1)(xk+1−xk)(x−xk−1)(x−xk)
可得二次插值多项式:
L2(x)=yk−1lk−1(x)+yklk(x)+yk+1lk+1(x)
2. 拉格朗日插值多项式
推广至一般情形,构造通过n+1个节点的n次插值多项式
Ln(x).根据插值定义有:
Ln(xj)=yj,(j=0,1,...,n)。为此先定义n次插值基函数:
定义1 若n次多项式
Lj(x)(j=0,1,2,...,n)在n+1个节点
x0<x1<...<xn上满足条件:
lk(xj)={1,0,j=kj̸=k,(j,k=0,1,...,n)
就称这n+1个n次多项式
l0(x),l1(x),...,ln(x)为节点
x0,x1,...,xn上的n次插值基函数,类似地:
lk(x)=(xk−x0)...(xk−xk−1)(xk−xk+1)...(xk−xn)(x−x0)...(x−xk−1)(x−xk+1)...(x−xn)
由此可得插值多项式:
Ln(x)=k=0∑nyklk(x)
称为拉格朗日插值多项式。为了方便表示,引入记号:
ωn+1=(x−x0)(x−x1)...(x−xn)且有ωn+1′(xk)=(xk−x0)...(xk−xk−1)(xk−xk+1)...(xk−xn)
则拉格朗日插值多项式可以写为:
Ln(x)=k=0∑n(x−xk)ωn+1′(xk)ωn+1(x)
关于插值多项式存在惟一性有一个定理:
定理1 在次数不超过n的多项式集合
Hn中,满足
Ln(xj)=yj,(j=0,1,...,n)的插值多项式
Ln(x)∈Hn存在且惟一。
惟一性证明:假定另有
P(x)∈Hn使得P(xj)=f(xj),i=0,1,...,n成立,于是有
Ln(xi)−P(xi)=0对i=0,1,2...,n成立,表明多项式
Ln(xi)−P(xi)∈Hn有n+1个零点,这与n次多项式只有n个零点的基本定理矛盾。
eg,已知f(144)=12,f(169)=13,f(225)=15,作f(x)二次Lagrange插值多项式并求f(175)1的近似值。
解:
x0=144,x1=169,x2=225,y0=12,y1=13,y2=15,则f(x)的二次Lagrange插值基函数为:
l0(x)=(x0−x1)(x0−x2)(x−x1)(x−x2)=(144−169)(144−225)(x−169)(x−225)l1(x)=(x1−x0)(x1−x2)(x−x0)(x−x2)=(169−144))(169−225)(x−144)(x−225)l2(x)=(x2−x0)(x2−x1)(x−x0)(x−x1)=(225−144)(225−169)(x−144)(x−169)
因此f(x)的二次Lagrange插值多项式为:
L2(x)=y0l0(x)+y1l1(x)+y2l2(x)
知
f(175)≈12l0175+13l1(175)+15l2(175)=13.23015873
3. 插值余项和误差估计
在[a,b]上用
Ln(x)近似f(x),则其截断误差
Rn(x)=f(x)−Ln(x),也称为插值多项式的余项,若f(x)的n阶导数连续,n+1阶导数存在,则:
Rn(x)=f(x)−Ln(x)=(n+1)!f(n+1)(ξ)ωn+1(x),其中ξ∈(a,b)且依赖于x
通常情况下
ξ在(a,b)上具体位置未知,若可以求出
maxa<x<b∣f(n+1)(x)∣=Mn+1,则
Rn(x)≤(n+1)!Mn+1∣ωn+1(x)∣。
Lagrange插值多项式的缺点:
-
插值基函数计算复杂
-
当增加一个新点时需重新计算
-
插值多项式从n次增加到n+1次需重新计算
-
插值曲线在节点处有尖点,不光滑,节点处不可导
-
高次插值的精度不一定高
{持续更新}
欢迎扫描二维码关注微信公众号 深度学习与数学 [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]