数值分析
考试迫使记的😭 都是公式而已,没有公式说明,没有推导过程,懂自懂
1、误差
- x∗ 为 x 一个近似值
- 绝对误差:e∗=x∗−x
- 相对误差:er∗=xe∗=xx∗−x,由于真值 x 总是不知道的,通常取 er∗=x∗e∗=x∗x∗−x
- 误差限:∣x∗−x∣≤ε∗
- 相对误差限:εr∗=∣x∗∣ε∗
- ε(f(x∗))≈∣f′(x∗)∣ε(x∗)
2、插值法
- 记 ωn+1(x)=(x−x0)(x−x1)⋯(x−xn)
- Lagrange 插值多项式系数:
lk(xk)=(xk−x0)⋯(xk−xk−1)(x−xk+1)⋯(x−xn)(x−x0)⋯(x−xk−1)(x−xk+1)⋯(x−xn)
- Lagrange 插值多项式:
Ln(x)=k=0∑nlk(x)yk=k=0∑nykωn+1′(xk)(x−xk)ωn+1(x)
- 余项:记 Mn+1=a≤x≤bmax∣fn+1(x)∣
R(x)=(n+1)!fn+1(ξ)ωn+1(x)≤(n+1)!Mn+1∣ωn+1(x)∣
均差与 NewTon 插值多项式
- 一阶均差:f[x0,xk]=xk−x0f(xk)−f(x0)
- k 阶均差:
f[x0,x1,⋯,xk]=xk−xk−1f[x0,⋯,xk−2,xk]−f[x0,⋯,xk−2,xk−1]
- f[x0,x1,⋯,xn]=n!f(n)(ξ)(x0,x1,⋯,xn,ξ∈[a,b])
- f[x0,x1,⋯,xk]=j=0∑kωk+1′(xj)f(xj)
- NewTon 插值多项式:
Pn(x)=f(x0)+f[x0,x1](x−x0)+f[x0,x1,x2](x−x0)(x−x1)+⋯+f[x0,x1,⋯,xn](x−x0)(x−x1)⋯(x−xn−1)
- 余项:R(x)=f[x0,x1,⋯,xn]ωn+1(x)
Hermite 插值
- Taylor 多项式:
Pn(x)=f(x0)+f′(x0)(x−x0)+⋯+n!f(n)(x0)(x−x0)n
- 余项:R(x)=(n+1)!f(n+1)(ξ)(x−x0)n+1
- 若已知 f(x0),f′(x1),f(x1),f(x2):
P(x)=f(x0)+f[x0,x1](x−x0)+f[x0,x1,x2](x−x0)(x−x1)+A(x−x0)(x−x1)(x−x2)
其中 A 由 P′(x1)=f′(x1) 可得
R(x)=4!1f(4)(ξ)(x−x0)(x−x1)2(x−x2)
- 两点三次 Hermite 插值多项式:
H3(x)=αk(x)yk+αk+1(x)yk+1+βk(x)mk+βk+1(x)mk+1
其中 mk=f′(xk),mk+1=f′(xk+1)
⎩⎨⎧αk(x)=(1+2xk+1−xkx−xk)(xk−xk+1x−xk+1)2αk+1(x)=(1+2xk−xk+1x−xk+1)(xk+1−xkx−xk)2
⎩⎨⎧βk(x)=(x−xk)(xk−xk+1x−xk+1)2βk+1(x)=(x−xk+1)(xk+1−xkx−xk)2
R(x)=4!f(4)(ξ)(x−xk)2(x−xk+1)2
分段低次插值
- h=nb−a
- 对每个小区间使用对应插值公式求 Ih(x)
- 余项
a≤x≤bmax∣f(x)−Ih(x)∣≤8M2h2
a≤x≤bmax∣f(x)−Ih(x)∣≤384M4h4
3、数值积分
代数精度
定义:
- 如果某个求积公式对于次数不超过 m 的多项式均能够准确成立,但对于 m+1 次多项式就不准确成立,则称该公式具有 m 次代数精度
梯形公式公式与中矩形公式
∫abf(x)dx≈2b−af(a)+2b−af(b)
R[f]=−12(b−a)3f′′(η)(η∈(a,b))
- 矩形公式:
∫abf(x)dx≈(b−a)f(2a+b)
R[f]=24(b−a)3f′′(η)(η∈(a,b))
Newton-Cotes 公式
将积分区间 [a,b] 分成 n 等分
- Simpson 公式(n=2):
∫abf(x)dx≈6b−af(a)+6b−af(b)+32(b−a)f(2a+b)
R[f]=−180∗24(b−a)5f(4)(η)(η∈(a,b))
- Cotes 公式(n=4):
C=90b−a[7f(x0)+32f(x1)+12f(x2)+32f(x3)+7f(x4)]
R[f]=−945∗462(b−a)7f(6)(η)(η∈(a,b))
复合求积公式
积分区间 [a,b] 分成 n 等分,步长 h=nb−a
- 复合梯形公式:
Tn=2h[f(a)+2k=1∑n−1f(xk)+f(b)]
Rn(f)=−12b−ah2f′′(η)
- 复合 Simpson 求积公式:
Sn=6h[f(a)+2k=1∑n−1f(xk)+4k=0∑n−1f(x(k+1)/2)+f(b)]
其中 x(k+1)/2=xk+2h
Rn(f)=−180b−a(2h)4f(4)(η)
龙贝格求积算法
- T0(0)=2h[f(a)+f(b)]
- 求梯形值 T0(2kb−a),利用递推公式求 T0(k),递推公式:
T2n=21Tn+2hk=0∑n−1f(xk+21)
- 求加速值:
Tm(k)=4m−14mTm−1k+1−4m−11Tm−1(k)k=1,2,⋯
高斯-勒让德求积公式
- 积分区间为 [−1,1]
- ∫−11f(x)dx≈k=0∑nAkf(xk)
- 余项:n=1 时,R1[f]=1351f(4)(η)
4、解线性方程组的直接方法
列主元高斯消去法
- 在每次消元时,选取列主元在最前面,列主元为该列最大值
矩阵三角分解法
- 如果 n 阶矩阵 A 的各阶顺序主子式 Dk(k=1,2,⋯,n−1) 均不为零,则必有单位下三角矩阵 L 和上三角矩阵 U,使得 A=LU,并且 L 和 U 是唯一的。
- 对矩阵进行 LU 分解后(杜利特尔分解)
- 解 Ly=b 得到 y
- 解 Ux=y 得到 x
矩阵范数
- 行范数:∣∣A∣∣∞=1≤i≤nmaxj=1∑n∣aij∣
- 列范数:∣∣A∣∣1=1≤j≤nmaxi=1∑n∣aij∣
- 2- 范数:∣∣A∣∣2=λmax(ATA) ,其中 λmax(ATA) 表示 ATA 的最大特征值
- 特征值计算:∣λE−A∣=0,解得 λ 即为 A 的特征值
- F- 范数:∣∣A∣∣F=i=1,j=1∑n(aij)2
条件数
- cond(A)∞=∣∣A−1∣∣∞∣∣A∣∣∞
- A 的谱条件数
cond(A)2=∣∣A∣∣2∣∣A−1∣∣2=λmin(ATA)λmax(ATA)
cond(A)2=∣λn∣∣λ1∣
其中,λ1 和 λn 分别代表 A 绝对值最大和绝对值最小的特征值
5、解线性方程组的迭代方法
⎩⎨⎧x1(k+1)=a111(−a12x2(k)−a13x3(k)⋯−a1nxn(k)+b1)x2(k+1)=a221(−a21x1(k)−a23x3(k)⋯−a2nxn(k)+b2)⋯xn(k+1)=ann1(−an1x1(k)−an2x2(k)⋯−an(n−1)xn−1(k)+bn)
- Gauss−Seidel 迭代
⎩⎨⎧x1(k+1)=a111(−a12x2(k)−a13x3(k)⋯−a1nxn(k)+b1)x2(k+1)=a221(−a21x1(k+1)−a23x3(k)⋯−a2nxn(k)+b2)⋯xn(k+1)=ann1(−an1x1(k+1)−an2x2(k+1)⋯−an(n−1)xn−1(k+1)+bn)
- 收敛性:
- 若 A 严格对角占有,即 ∣aii∣>j=0∑i−1∣aij∣+j=i+1∑n∣aij∣,则两种迭代方法均收敛
- 迭代法 x(k+1)=Bx(k)+f 对任意 x(0) 和 f 均收敛的充要条件为 ρ(B)<1。其中 B 为迭代矩阵,谱半径 ρ(B) 为矩阵 B 特征值的模的最大值。
- 矩阵的谱半径越小,收敛速度越快
6、非线性方程和方程组的数值解法
二分法
计算步骤:
- 准备:计算 f(x) 在有根区间 [a,b] 端点处的值 f(a),f(b)
- 二分:计算 f(x) 在区间中点 2a+b 处的值 f(2a+b)
- 判断:若 f(2a+b)=0,则 x=2a+b 即为方程的根,计算过程结束,否则检验:若 f(2a+b)f(a)<0,则 b=2a+b,否则 a=2a+b
- 反复执行步骤 2-3,直到区间 [a,b] 的长度小于允许误差 ε,此时区间中点 2a+b 即为所求近似根
二分法总是收敛的
不动点迭代
计算步骤:
- 将方程 f(x)=0 转换为 x=φ(x)
- 要求 x∗ 满足 f(x∗)=0,则 x∗=φ(x∗),称 x∗ 为函数 φ(x) 的一个不动点
- 选择一个初始近似值 x0,将其代入 x=φ(x) 式的右端可求得 x1=φ(x0)
- 如上迭代计算 xk+1=φ(xk),φ(x) 称为迭代函数
收敛性:
- 若 x∗ 为 φ(x) 的不动点,φ(x) 在 x∗ 某领域内有连续导数,且 φ(x∗)<1,则该迭代法是局部收敛的。
收敛阶:
- 若迭代函数 x=φ(x) 的根 x∗ 邻近具有 p 阶连续导数,并且有
φ′(x∗)=φ′′(x∗)=⋯=φ(p−1)(x∗), φ(p)(x∗)=0
那么迭代过程在 x∗ 附近是 p 阶收敛的
- 若 0<φ′(x∗)<1,则迭代法 线性收敛
- 若 φ′(x∗)=0, φ′′(x∗)=0,则迭代法 平方收敛
Newton 法
- Newton 迭代法的构造:
xk+1=xk−f′(xk)f(xk)
简化牛顿法
构造迭代公式:
xk+1=xk−f′(x0)f(xk)
只有一阶收敛
牛顿下山法
构造迭代公式:
xk+1=xk−λf′(xk)f(xk)
可以通过选取 λ 值使得 ∣f(xk)∣>∣f(xk+1)∣,通常先令 λ=1,若上式子不成立则 λ 减半,直到上式成立
重根情况
若 f(x)=(x−x∗)mg(x),即 x∗ 为方程 m 重根,在无需提前知道 m 取值的情况下,可构造平方收敛的 迭代公式
xk+1=xk−[f′(xk)]2−f(xk)f′′(xk)f(xk)f′(xk)