五、数值积分和数值微分
基本概念
一般的数值积分公式为:
∫abf(x)dx≈∑k=0nAkf(xk)
\int_a^b f(x)dx \approx \sum_{k=0}^n A_kf(x_k)
∫abf(x)dx≈k=0∑nAkf(xk)
其中称 xkx_kxk 为求积点,AkA_kAk 为求积系数,记
I(f)=∫abf(x)dx,In(f)=∑k=0nAkf(xk)
I(f)=\int_a^bf(x)dx,\quad I_n(f)=\sum_{k=0}^n A_kf(x_k)
I(f)=∫abf(x)dx,In(f)=k=0∑nAkf(xk)
则求积公式的截断误差为
R(f)=I(f)−In(f)
R(f) = I(f) - I_n(f)
R(f)=I(f)−In(f)
插值型求积公式
给定节点 a≤x0<x1<...<xn≤ba \le x_0 \lt x_1 \lt ... \lt x_n \le ba≤x0<x1<...<xn≤b,已知 f(x)f(x)f(x) 在这些点上的函数值为 f(xi), (i=0,1,...,n)f(x_i),\ (i=0,1,...,n)f(xi), (i=0,1,...,n)。由插值理论,f(x)f(x)f(x) 的 n 次插值多项式为:
Ln(x)=∑k=0nf(xk)lk(x)=∑k=0nf(xk)∏j=0,j≠knx−xjxk−xjI(f)=∫abf(x)dx≈∫abLn(x)dx=∑k=0n[∫ablk(x)dx]f(xk)=∑k=0nAkf(xk)
\begin{aligned}
L_n(x) &= \sum_{k=0}^nf(x_k)l_k(x) = \sum_{k=0}^nf(x_k)\prod_{j=0,j\ne k}^n \frac{x-x_j}{x_k-x_j} \\
I(f) &= \int_a^bf(x)dx \approx \int_a^b L_n(x)dx = \sum_{k=0}^n [\int_a^bl_k(x)dx]f(x_k) = \sum_{k=0}^n A_kf(x_k)
\end{aligned}
Ln(x)I(f)=k=0∑nf(xk)lk(x)=k=0∑nf(xk)j=0,j=k∏nxk−xjx−xj=∫abf(x)dx≈∫abLn(x)dx=k=0∑n[∫ablk(x)dx]f(xk)=k=0∑nAkf(xk)
其中,Ak=∫ablk(x)dxA_k = \int_a^bl_k(x)dxAk=∫ablk(x)dx。记 In(f)=∑k=0nAkf(xk)I_n(f) = \sum_{k=0}^nA_kf(x_k)In(f)=∑k=0nAkf(xk),则 I(f)≈In(f)I(f) \approx I_n(f)I(f)≈In(f)
- 设有计算积分 I(f)I(f)I(f) 的求积公式 In(f)=∑k=0nAkf(xk)I_n(f)=\sum_{k=0}^nA_kf(x_k)In(f)=∑k=0nAkf(xk),且求积系数 Ak=∫ablk(x)dx, (k=0,1,...,n)A_k = \int_a^bl_k(x)dx,\ (k=0,1,...,n)Ak=∫ablk(x)dx, (k=0,1,...,n),则称该求积公式为插值型求积公式
- 记 R(f)=I(f)−In(f)R(f)=I(f)-I_n(f)R(f)=I(f)−In(f),由插值多项式的余项得插值型求积公式的截断误差为
R(f)=∫abf(n+1)(ξ)(n+1)!∏i=0n(x−xi)dx, ξ∈(a,b) R(f) = \int_a^b\frac{f^{(n+1)}(\xi)}{(n+1)!}\prod_{i=0}^n(x-x_i)dx, \ \xi \in (a, b) R(f)=∫ab(n+1)!f(n+1)(ξ)i=0∏n(x−xi)dx, ξ∈(a,b)
Newton-Cotes 公式
- 如果求积点 xk(k=0,1,...,n)x_k(k=0,1,...,n)xk(k=0,1,...,n) 是等距的,即 xk=a+kh,h=b−an,k=0,1,...,nx_k = a+kh,h=\frac{b-a}{n},k=0,1,...,nxk=a+kh,h=nb−a,k=0,1,...,n,则称对应的插值型求积公式为 Newton-cotes 公式
令 x=a+th,t∈[0,n]x=a+th,t\in[0,n]x=a+th,t∈[0,n],则 xk=a+kh,xj=a+jhx_k = a+kh,x_j=a+jhxk=a+kh,xj=a+jh,
Ak=∫ablk(x)dx=∫ab∏j=0,j≠knx−xjxk−xjdx=h∫0n∏j=0,j≠knt−jk−jdt=(−1)n−khk!(n−k)!∫0n∏j=0,j≠kn(t−j)dt=(b−a)(−1)n−kn×k!(n−k)!∫0n∏j=0,j≠kn(t−j)dt, k=0,1,...,n记 Cn,k=(−1)n−kn×k!(n−k)!∫0n∏j=0,j≠kn(t−j)dt, k=0,1,...,n则 Newton−Cotes 公式可写为In(f)=(b−a)∑k=0nCn,kf(xk), 其中 Cn,k 只依赖于k和n
\begin{aligned}
A_k &= \int_a^bl_k(x)dx = \int_a^b\prod_{j=0,j\ne k}^n \frac{x-x_j}{x_k-x_j}dx = h\int_0^n\prod_{j=0,j \ne k}^n \frac{t-j}{k-j}dt \\
&=\frac{(-1)^{n-k}h}{k!(n-k)!}\int_0^n\prod_{j=0,j \ne k}^n(t-j)dt = (b-a)\frac{(-1)^{n-k}}{n\times k!(n-k)!}\int_0^n\prod_{j=0,j \ne k}^n(t-j)dt,\ k=0,1,...,n \\
记\ C_{n,k}&=\frac{(-1)^{n-k}}{n\times k!(n-k)!}\int_0^n\prod_{j=0,j \ne k}^n(t-j)dt,\ k=0,1,...,n \qquad 则\ Newton-Cotes\ 公式可写为 \\
I_n(f) &= (b-a)\sum_{k=0}^nC_{n,k}f(x_k),\ 其中 \ C_{n,k}\ 只依赖于 k和n
\end{aligned}
Ak记 Cn,kIn(f)=∫ablk(x)dx=∫abj=0,j=k∏nxk−xjx−xjdx=h∫0nj=0,j=k∏nk−jt−jdt=k!(n−k)!(−1)n−kh∫0nj=0,j=k∏n(t−j)dt=(b−a)n×k!(n−k)!(−1)n−k∫0nj=0,j=k∏n(t−j)dt, k=0,1,...,n=n×k!(n−k)!(−1)n−k∫0nj=0,j=k∏n(t−j)dt, k=0,1,...,n则 Newton−Cotes 公式可写为=(b−a)k=0∑nCn,kf(xk), 其中 Cn,k 只依赖于k和n
-
左/右/中矩形积分公式——对于函数 f(x)f(x)f(x) 在 [a,b][a, b][a,b] 上的积分有
- 左:∫abf(x)dx≈(b−a)f(a)\int_a^bf(x)dx \approx (b-a)f(a)∫abf(x)dx≈(b−a)f(a)
- 右:∫abf(x)dx≈(b−a)f(b)\int_a^bf(x)dx \approx (b-a)f(b)∫abf(x)dx≈(b−a)f(b)
- 中:∫abf(x)dx≈(b−a)f(a+b2)\int_a^bf(x)dx \approx (b-a)f(\frac{a+b}{2})∫abf(x)dx≈(b−a)f(2a+b)
-
梯形公式:当 n=1,h=b−a,x0=a,x1=bn=1,h=b-a,x_0=a,x_1=bn=1,h=b−a,x0=a,x1=b 时有 C1,0=12,C1,1=12C_{1,0}=\frac{1}{2},C_{1,1}=\frac{1}{2}C1,0=21,C1,1=21,则
T(f)=b−a2[f(a)+f(b)] T(f)=\frac{b-a}{2}[f(a)+f(b)] T(f)=2b−a[f(a)+f(b)]
- 梯形公式的截断误差如下:
RT(f)=I(f)−T(f)=∫abf′′(ξ)2(x−a)(x−b)dx=f′′(η)2∫ab(x−a)(x−b)dx=−(b−a)312f′′(η), η∈(a,b) \begin{aligned} R_T(f) &= I(f)-T(f)=\int_a^b\frac{f^{''}(\xi)}{2}(x-a)(x-b)dx \\ &=\frac{f^{''}(\eta)}{2}\int_a^b(x-a)(x-b)dx = -\frac{(b-a)^3}{12}f^{''}(\eta),\ \eta \in (a,b) \end{aligned} RT(f)=I(f)−T(f)=∫ab2f′′(ξ)(x−a)(x−b)dx=2f′′(η)∫ab(x−a)(x−b)dx=−12(b−a)3f′′(η), η∈(a,b)
- Simpson 公式:当 n=2,h=b−a2,x0=a,x1=a+b2,x2=bn=2,h=\frac{b-a}{2},x_0=a,x_1=\frac{a+b}{2},x_2=bn=2,h=2b−a,x0=a,x1=2a+b,x2=b 时有 C2,0=16,C2,1=23,C2,2=16C_{2,0}=\frac{1}{6},C_{2,1}=\frac{2}{3},C_{2,2}=\frac{1}{6}C2,0=61,C2,1=32,C2,2=61,则
S(f)=b−a6[f(a)+4f(a+b2)+f(b)] S(f) = \frac{b-a}{6}[f(a)+4f(\frac{a+b}{2})+f(b)] S(f)=6b−a[f(a)+4f(2a+b)+f(b)]
- Simpson 公式的截断误差如下:
RS(f)=I(f)−S(f)=∫abf(x)dx−∫abH(x)dx=∫ab[f(x)−H(x)]dx=∫abf(4)(ξ)4(x−a)(x−a+b2)2(x−b)dx=f(4)(η)4∫ab(x−a)(x−a+b2)2(x−b)dx=−b−a180(b−a2)4f(4)(η), η∈(a,b) \begin{aligned} R_S(f) &= I(f) - S(f) = \int_a^bf(x)dx - \int_a^bH(x)dx = \int_a^b[f(x)-H(x)]dx \\ &= \int_a^b\frac{f^{(4)}(\xi)}{4}(x-a)(x-\frac{a+b}{2})^2(x-b)dx \\ &= \frac{f^{(4)}(\eta)}{4}\int_a^b(x-a)(x-\frac{a+b}{2})^2(x-b)dx \\ &= -\frac{b-a}{180}(\frac{b-a}{2})^4f^{(4)}(\eta),\ \eta \in (a,b) \end{aligned} RS(f)=I(f)−S(f)=∫abf(x)dx−∫abH(x)dx=∫ab[f(x)−H(x)]dx=∫ab4f(4)(ξ)(x−a)(x−2a+b)2(x−b)dx=4f(4)(η)∫ab(x−a)(x−2a+b)2(x−b)dx=−180b−a(2b−a)4f(4)(η), η∈(a,b)
- Cotes 公式(*):当 n=4,h=b−a4,x0=a,x1=3a+b4,x2=a+b2,x3=a+3b4,x4=bn=4,h=\frac{b-a}{4},x_0=a,x_1=\frac{3a+b}{4},x_2=\frac{a+b}{2},x_3=\frac{a+3b}{4},x_4=bn=4,h=4b−a,x0=a,x1=43a+b,x2=2a+b,x3=4a+3b,x4=b 时有 C4,0=790,C4,1=3290,C4,2=1290,C4,3=3290,C4,4=790C_{4,0}=\frac{7}{90},C_{4,1}=\frac{32}{90},C_{4,2}=\frac{12}{90},C_{4,3}=\frac{32}{90},C_{4,4}=\frac{7}{90}C4,0=907,C4,1=9032,C4,2=9012,C4,3=9032,C4,4=907,则
C(f)=b−a90[7f(a)+32f(3a+b4)+12f(a+b2)+32f(a+3b4)+7f(b)] C(f) = \frac{b-a}{90}[7f(a)+32f(\frac{3a+b}{4})+12f(\frac{a+b}{2})+32f(\frac{a+3b}{4})+7f(b)] C(f)=90b−a[7f(a)+32f(43a+b)+12f(2a+b)+32f(4a+3b)+7f(b)]
- Cotes 公式的截断误差如下:
RC(f)=I(f)−C(f)=−2(b−a)945(b−a4)6f(6)(η), η∈(a,b) R_C(f) = I(f)-C(f) = -\frac{2(b-a)}{945}(\frac{b-a}{4})^6f^{(6)}(\eta),\ \eta \in (a, b) RC(f)=I(f)−C(f)=−9452(b−a)(4b−a)6f(6)(η), η∈(a,b)
代数精度
- 对于求积公式 I(f)≈In(f)=∑k=0nAkf(xk)I(f) \approx I_n(f) = \sum_{k=0}^n A_kf(x_k)I(f)≈In(f)=∑k=0nAkf(xk),如果对任意次数不超过 m 次的多项式 pm(x)p_m(x)pm(x),如 xm\pmb{x^m}xmxmxm ,有 I(pm)=In(pm)I(p_m)=I_n(p_m)I(pm)=In(pm);而存在 m+1 次多项式 qm+1(x)q_{m+1}(x)qm+1(x),如 xm+1x^{m+1}xm+1,使得 I(qm+1)≠In(qm+1)I(q_{m+1}) \ne I_n(q_{m+1})I(qm+1)=In(qm+1),则称求积公式的代数精度为 m
- n+1 个节点的插值型求积公式的代数精度至少是 n
- 求积公式 In(f)=∑k=0nAkf(xk)I_n(f) = \sum_{k=0}^nA_kf(x_k)In(f)=∑k=0nAkf(xk) 至少具有 n 次代数精度 ⇔\Leftrightarrow⇔ 该求积公式是插值型求积公式,即 Ak=∫ablk(x)dx, k=0,1,...,nA_k = \int_a^bl_k(x)dx,\ k=0,1,...,nAk=∫ablk(x)dx, k=0,1,...,n
- 一般,对于 n+1 个节点的 Newton-Cotes(等距节点插值型)公式,若 n 为奇数,则代数精度为 n;若 n 为偶数,则代数精度为 n+1
复化求积公式
复化梯形公式
将区间 [a,b][a, b][a,b] 作 nnn 等分,记 h=b−an,xk=a+kh,k=0,1,...,nh=\frac{b-a}{n},x_k = a+kh,k=0,1,...,nh=nb−a,xk=a+kh,k=0,1,...,n
I(f)=∫abf(x)dx=∑k=0n−1∫xkxk+1f(x)dx
I(f) = \int_a^bf(x)dx = \sum_{k=0}^{n-1}\int_{x_k}^{x_{k+1}}f(x)dx
I(f)=∫abf(x)dx=k=0∑n−1∫xkxk+1f(x)dx
对小区间上的积分 ∫xkxk+1f(x)dx\int_{x_k}^{x_{k+1}}f(x)dx∫xkxk+1f(x)dx 应用梯形公式即可得到复化梯形公式
Tn(f)=∑k=0n−1h2[f(xk)+f(xk+1)]
T_n(f) = \sum_{k=0}^{n-1}\frac{h}{2}[f(x_k)+f(x_{k+1})]
Tn(f)=k=0∑n−12h[f(xk)+f(xk+1)]
其截断误差为
I(f)−Tn(f)=∑k=0n−1∫xkxk+1f(x)dx−∑k=0n−1h2[f(xk)+f(xk+1)]=∑k=0n−1[−h312f′′(ηk)], ηk∈[xk,xk+1]
\begin{aligned}
I(f)-T_n(f) &= \sum_{k=0}^{n-1}\int_{x_k}^{x_{k+1}}f(x)dx - \sum_{k=0}^{n-1}\frac{h}{2}[f(x_k)+f(x_{k+1})] \\
&= \sum_{k=0}^{n-1}[-\frac{h^3}{12}f^{''}(\eta_k)],\ \eta_k \in [x_k, x_{k+1}]
\end{aligned}
I(f)−Tn(f)=k=0∑n−1∫xkxk+1f(x)dx−k=0∑n−12h[f(xk)+f(xk+1)]=k=0∑n−1[−12h3f′′(ηk)], ηk∈[xk,xk+1]
设 f(x)∈C2[a,b]f(x) \in C^2[a, b]f(x)∈C2[a,b],则由连续函数介值定理,∃η∈(a,b)\exists \eta \in (a, b)∃η∈(a,b),使 1n∑k=0n−1f′′(ηk)=f′′(η)\frac{1}{n}\sum_{k=0}^{n-1}f^{''}(\eta_k)=f^{''}(\eta)n1∑k=0n−1f′′(ηk)=f′′(η),故 Tn(f)T_n(f)Tn(f) 的截断误差为
I(f)−Tn(f)=−h312nf′′(η)=−b−a12h2f′′(η)
I(f)-T_n(f) = -\frac{h^3}{12}nf^{''}(\eta) = -\frac{b-a}{12}h^2f^{''}(\eta)
I(f)−Tn(f)=−12h3nf′′(η)=−12b−ah2f′′(η)
- 先验误差估计:记 M2=maxa≤x≤b∣f′′(x)∣M_2 = \max_{a \le x\le b}|f^{''}(x)|M2=maxa≤x≤b∣f′′(x)∣,对于给定精度 $\epsilon $,只要 b−a12M2h2≤ϵ\frac{b-a}{12}M_2h^2 \le \epsilon12b−aM2h2≤ϵ,则有先验误差估计
∣I(f)−Tn(f)∣=b−a12h2∣f′′(η)∣≤b−a12M2h2≤ϵ |I(f)-T_n(f)| = \frac{b-a}{12}h^2|f^{''}(\eta)| \le \frac{b-a}{12}M_2h^2 \le \epsilon ∣I(f)−Tn(f)∣=12b−ah2∣f′′(η)∣≤12b−aM2h2≤ϵ
- 后验误差估计:$|I(f)-T_{2n}(f)| \approx \frac{1}{3}|T_{2n}(f)-T_n(f)| \le \epsilon $
- 当 h 很小时有,I(f)−Tn(f)≈h212[f′(a)−f′(b)]I(f)-T_n(f) \approx \frac{h^2}{12}[f^{'}(a)-f^{'}(b)]I(f)−Tn(f)≈12h2[f′(a)−f′(b)]
- 将 [a,b][a, b][a,b] 进行 2 等分有,I(f)−T2n(f)≈112(h2)2[f′(a)−f′(b)]I(f)-T_{2n}(f) \approx \frac{1}{12}(\frac{h}{2})^2[f^{'}(a)-f^{'}(b)]I(f)−T2n(f)≈121(2h)2[f′(a)−f′(b)]
- 假设 Tn(f)T_n(f)Tn(f) 已知,则 T2n(f)=12Tn(f)+h2∑k=0n−1f[12(xk+xk+1)]T_{2n}(f) = \frac{1}{2}T_n(f)+\frac{h}{2}\sum_{k=0}^{n-1}f[\frac{1}{2}(x_k+x_{k+1})]T2n(f)=21Tn(f)+2h∑k=0n−1f[21(xk+xk+1)],其中 hhh 为计算 Tn(f)T_n(f)Tn(f) 时的步长
复化 Simpson 公式
记 xk+12=12(xk+xk+1)x_{k+\frac{1}{2}} = \frac{1}{2}(x_k+x_{k+1})xk+21=21(xk+xk+1),对每个小区间上积分 ∫xkxk+1f(x)dx\int_{x_k}^{x_{k+1}}f(x)dx∫xkxk+1f(x)dx 应用 Simpson 公式即可得到复化 Simpson 公式:
Sn(f)=∑k=0n−1h6[f(xk)+4f(xk+12)+f(xk+1)]
S_n(f) = \sum_{k=0}^{n-1}\frac{h}{6}[f(x_k)+4f(x_{k+\frac{1}{2}})+f(x_{k+1})]
Sn(f)=k=0∑n−16h[f(xk)+4f(xk+21)+f(xk+1)]
其截断误差为
I(f)−Sn(f)=∑k=0n−1−h180(h2)4f(4)(ηk)=−h180(h2)4∑k=0n−1f(4)(ηk), ηk∈[xk,xk+1]
I(f)-S_n(f) = \sum_{k=0}^{n-1}-\frac{h}{180}(\frac{h}{2})^4f^{(4)}(\eta_k) = -\frac{h}{180}(\frac{h}{2})^4\sum_{k=0}^{n-1}f^{(4)}(\eta_k) ,\ \eta_k \in [x_k, x_{k+1}]
I(f)−Sn(f)=k=0∑n−1−180h(2h)4f(4)(ηk)=−180h(2h)4k=0∑n−1f(4)(ηk), ηk∈[xk,xk+1]
设 f(x)∈C4[a,b]f(x) \in C^4[a, b]f(x)∈C4[a,b],由连续函数介值定理,∃η∈(a,b)\exists \eta \in (a,b)∃η∈(a,b),使 1n∑k=0n−1f(4)(ηk)=f(4)(η)\frac{1}{n}\sum_{k=0}^{n-1}f^{(4)}(\eta_k) = f^{(4)}(\eta)n1∑k=0n−1f(4)(ηk)=f(4)(η),故 Sn(f)S_n(f)Sn(f) 的截断误差为
I(f)−Sn(f)=−h180(h2)4nf(4)(η)=−b−a180(h2)4f(4)(η), η∈(a,b)
I(f)-S_n(f)=-\frac{h}{180}(\frac{h}{2})^4nf^{(4)}(\eta)=-\frac{b-a}{180}(\frac{h}{2})^4f^{(4)}(\eta),\ \eta \in (a, b)
I(f)−Sn(f)=−180h(2h)4nf(4)(η)=−180b−a(2h)4f(4)(η), η∈(a,b)
- 先验误差估计:记 M4=maxa≤x≤b∣f(4)(x)∣M_4 = \max_{a \le x \le b}|f^{(4)}(x)|M4=maxa≤x≤b∣f(4)(x)∣,对给定的精度 ϵ\epsilonϵ,选取 hhh 使得 b−a180(h2)4M4≤ϵ\frac{b-a}{180}(\frac{h}{2})^4M_4\le\epsilon180b−a(2h)4M4≤ϵ,则有先验误差估计
∣I(f)−Sn(f)∣≤b−a180(h2)4M4≤ϵ |I(f)-S_n(f)| \le \frac{b-a}{180}(\frac{h}{2})^4M_4 \le \epsilon ∣I(f)−Sn(f)∣≤180b−a(2h)4M4≤ϵ
- 后验误差估计:∣I(f)−S2n(f)∣≈115∣S2n(f)−Sn(f)∣≤ϵ|I(f)-S_{2n}(f)| \approx \frac{1}{15}|S_{2n}(f)-S_n(f)| \le \epsilon∣I(f)−S2n(f)∣≈151∣S2n(f)−Sn(f)∣≤ϵ
- 当 hhh 很小时,I(f)−Sn(f)≈1180[f(3)(a)−f(3)(b)](h2)4I(f)-S_n(f) \approx \frac{1}{180}[f^{(3)}(a)-f^{(3)}(b)](\frac{h}{2})^4I(f)−Sn(f)≈1801[f(3)(a)−f(3)(b)](2h)4
- I(f)−S2n(f)≈1180[f(3)(a)−f(3)(b)](h22)4I(f)-S_{2n}(f) \approx \frac{1}{180}[f^{(3)}(a)-f^{(3)}(b)](\frac{\frac{h}{2}}{2})^4I(f)−S2n(f)≈1801[f(3)(a)−f(3)(b)](22h)4
复化 Cotes 公式(*)
记 xk+14=xk+14h, xk+12=xk+12h, xk+34=xk+34hx_{k+\frac{1}{4}}=x_k+\frac{1}{4}h,\ x_{k+\frac{1}{2}}=x_k+\frac{1}{2}h,\ x_{k+\frac{3}{4}}=x_k+\frac{3}{4}hxk+41=xk+41h, xk+21=xk+21h, xk+43=xk+43h,对积分 ∫xkxk+1f(x)dx\int_{x_k}^{x_{k+1}}f(x)dx∫xkxk+1f(x)dx 应用 Cotes 公式即可得到复化 Cotes 公式
Cn(f)=∑k=0n−1h90[7f(xk)+32f(xx+14)+12f(xk+12)+32f(xk+34)+7f(xk+1)]
C_n(f) = \sum_{k=0}^{n-1}\frac{h}{90}[7f(x_k)+32f(x_{x+\frac{1}{4}})+12f(x_{k+\frac{1}{2}})+32f(x_{k+\frac{3}{4}})+7f(x_{k+1})]
Cn(f)=k=0∑n−190h[7f(xk)+32f(xx+41)+12f(xk+21)+32f(xk+43)+7f(xk+1)]
其截断误差为
I(f)−Cn(f)=−2(b−a)945(h2)6f(6)(η), η∈(a,b)
I(f)-C_n(f)=-\frac{2(b-a)}{945}(\frac{h}{2})^6f^{(6)}(\eta),\ \eta \in (a, b)
I(f)−Cn(f)=−9452(b−a)(2h)6f(6)(η), η∈(a,b)
当 h 很小时有
- I(f)−Cn(f)≈2945[f(5)(a)−f(5)(b)](h2)6I(f)-C_n(f) \approx \frac{2}{945}[f^{(5)}(a)-f^{(5)}(b)](\frac{h}{2})^6I(f)−Cn(f)≈9452[f(5)(a)−f(5)(b)](2h)6
- I(f)−C2n(f)≈163[C2n(f)−Cn(f)]I(f)-C_{2n}(f) \approx \frac{1}{63}[C_{2n}(f)-C_n(f)]I(f)−C2n(f)≈631[C2n(f)−Cn(f)]
复化求积公式的阶数
设有计算积分 I(f)I(f)I(f) 的复化求积公式 In(f)I_n(f)In(f),如果存在正整数 ppp 和非零常数 CCC,使
limh→0I(f)−In(f)hp=C
\lim_{h \rightarrow 0} \frac{I(f)-I_n(f)}{h^p}=C
h→0limhpI(f)−In(f)=C
则称公式 In(f)I_n(f)In(f) 是 ppp 阶的,即截断误差为:R(f)=I(f)−In(f)=O(hp)R(f)=I(f)-I_n(f)=O(h^p)R(f)=I(f)−In(f)=O(hp)
- 复化梯形公式为 2 阶;复化 Simpson 公式为 4 阶;复化 Cotes 公式为 6 阶
- Sn(f)=43T2n(f)−13Tn(f)S_n(f)=\frac{4}{3}T_{2n}(f)-\frac{1}{3}T_n(f)Sn(f)=34T2n(f)−31Tn(f)
- Cn(f)=1615S2n(f)−115Sn(f)C_n(f)=\frac{16}{15}S_{2n}(f)-\frac{1}{15}S_n(f)Cn(f)=1516S2n(f)−151Sn(f)
- Romberg 公式:Rn(f)=6463C2n(f)−163Cn(f)R_n(f)=\frac{64}{63}C_{2n}(f)-\frac{1}{63}C_n(f)Rn(f)=6364C2n(f)−631Cn(f)(会算即可)
- Romberg 公式的截断误差为 O(h8)O(h^8)O(h8),从而有 I(f)−R2n(f)≈1255[R2n(f)−Rn(f)]I(f)-R_{2n}(f) \approx \frac{1}{255}[R_{2n}(f)-R_n(f)]I(f)−R2n(f)≈2551[R2n(f)−Rn(f)]
Gauss 求积公式
设 I(f)=∫abf(x)dxI(f)=\int_a^b f(x)dxI(f)=∫abf(x)dx,In(f)=∑k=0nAkf(xk)I_n(f)=\sum_{k=0}^nA_kf(x_k)In(f)=∑k=0nAkf(xk),In(f)I_n(f)In(f) 是求积公式 I(f)I(f)I(f) 的求积公式,如果求积公式 In(f)I_n(f)In(f) 的代数精度是 (2n+1),则称该公式为 Gauss-Legendre 公式,简称 Gauss 公式,对应的求积点 xk(k=0,1,...,n)x_k(k=0,1,...,n)xk(k=0,1,...,n) 称为 Gauss 点。由代数精度知,求积公式 I(f)≈In(f)I(f) \approx I_n(f)I(f)≈In(f) 的代数精度为
(2n+1)↔∫abxidx=∑k=0nAkxki, i=0,1,...,2n+1
(2n+1) \leftrightarrow \int_a^bx^idx=\sum_{k=0}^nA_kx_k^i, \ \ i=0,1,...,2n+1
(2n+1)↔∫abxidx=k=0∑nAkxki, i=0,1,...,2n+1
例1:考虑求积公式 ∫−11f(x)dx≈A0f(x0)+A1f(x1)\int_{-1}^1 f(x) dx \approx A_0f(x_0)+A_1f(x_1)∫−11f(x)dx≈A0f(x0)+A1f(x1) 决定求积系数 A0A_0A0,A1A_1A1 和求积点 x0x_0x0,x1x_1x1,使其成为 2 点 Gauss 公式
解:n = 1,即要使公式的代数精度为 2+1=3,由代数精度可得
f(x)=1,A0+A1=∫−111dx=2f(x)=x,A0x0+A1x1=∫−11xdx=0f(x)=x2,A0x02+A1x12=∫−11x2dx=23f(x)=x3,A0x03+A1x13=∫−11x3dx=0
\begin{aligned}
f(x) &= 1,\quad A_0+A_1=\int_{-1}^1 1dx=2 \\
f(x) &= x,\quad A_0x_0+A_1x_1=\int_{-1}^1 xdx=0 \\
f(x) &= x^2,\quad A_0x_0^2+A_1x_1^2=\int_{-1}^1x^2dx=\frac{2}{3} \\
f(x) &= x^3,\quad A_0x_0^3+A_1x_1^3=\int_{-1}^1 x^3 dx = 0
\end{aligned}
f(x)f(x)f(x)f(x)=1,A0+A1=∫−111dx=2=x,A0x0+A1x1=∫−11xdx=0=x2,A0x02+A1x12=∫−11x2dx=32=x3,A0x03+A1x13=∫−11x3dx=0
求得 A0=A1=1A_0=A_1=1A0=A1=1,x0=−13x_0=-\frac{1}{\sqrt{3}}x0=−31,x1=13x_1=\frac{1}{\sqrt{3}}x1=31,故 [−1,1][-1,1][−1,1] 上两点 Gauss 公式为
∫−11f(x)dx≈f(−13)+f(13)
\int_{-1}^1f(x)dx \approx f(-\frac{1}{\sqrt{3}})+f(\frac{1}{\sqrt{3}})
∫−11f(x)dx≈f(−31)+f(31)
- 设 I(f)=∫abf(x)dxI(f)=\int_a^bf(x)dxI(f)=∫abf(x)dx,In(f)=∑k=0nAkf(xk)I_n(f)=\sum_{k=0}^nA_kf(x_k)In(f)=∑k=0nAkf(xk),In(f)I_n(f)In(f) 是计算积分 I(f)I(f)I(f) 的插值型求积公式,记
Wn+1(x)=(x−x0)(x−x1)...(x−xn) W_{n+1}(x)=(x-x_0)(x-x_1)...(x-x_n) Wn+1(x)=(x−x0)(x−x1)...(x−xn)
则求积公式 I(f)≈In(f)I(f) \approx I_n(f)I(f)≈In(f) 是 Gauss 求积公式 ↔\leftrightarrow↔ Wn+1(x)W_{n+1}(x)Wn+1(x) 与任意一个次数不超过 nnn 的多项式 p(x)p(x)p(x) 正交,即
∫abp(x)Wn+1(x)dx=0
\int_a^bp(x)W_{n+1}(x)dx = 0
∫abp(x)Wn+1(x)dx=0
- 设 gn(x)=an,0xn+an,1xn−1+...+an,n−1x+an,n,n=0,1,2,...g_n(x)=a_{n,0}x^n+a_{n,1}x^{n-1}+...+a_{n,n-1}x+a_{n,n},n=0,1,2,...gn(x)=an,0xn+an,1xn−1+...+an,n−1x+an,n,n=0,1,2,...,其中 an,0≠0a_{n,0}\ne 0an,0=0。如果对任意的 i,j=0,1,...,i≠ji,j=0,1,...,i\ne ji,j=0,1,...,i=j 有
(gi,gj)=∫abgi(x)gj(x)dx=0 (g_i, g_j) = \int_a^bg_i(x)g_j(x)dx=0 (gi,gj)=∫abgi(x)gj(x)dx=0
则称 {gk(x)}k=0∞\{g_k(x)\}_{k=0}^\infty{gk(x)}k=0∞ 为区间 [a,b][a,b][a,b] 上的正交多项式序列,称 gn(x)g_n(x)gn(x) 为区间 [a,b][a,b][a,b] 上的 nnn 次正交多项式
- 设 {gk(x)}k=0∞\{g_k(x)\}_{k=0}^\infty{gk(x)}k=0∞ 为区间 [a,b][a,b][a,b] 上的正交多项式序列,则对任意的 nnn,多项式 g0(x),g1(x),...,gn(x)g_0(x),g_1(x),...,g_n(x)g0(x),g1(x),...,gn(x) 线性无关
- 设 {gk(x)}k=0∞\{g_k(x)\}_{k=0}^\infty{gk(x)}k=0∞ 为区间 [a,b][a,b][a,b] 上的正交多项式序列,则 gn(x)g_n(x)gn(x) 在 (a,b)(a,b)(a,b) 上有 n\pmb{n}nnn 个不同的实零点
n 次勒让德(Legendre)多项式:
Pn(t)=12nn!dn(t2−1)ndtn, n=0,1,2,...
P_n(t) = \frac{1}{2^nn!}\frac{d^n(t^2-1)^n}{dt^n},\ n=0,1,2,...
Pn(t)=2nn!1dtndn(t2−1)n, n=0,1,2,...
- Legendre 多项式序列 {Pk(t)}k=0∞\{P_k(t)\}_{k=0}^{\infty}{Pk(t)}k=0∞ 是区间 [−1,1][-1,1][−1,1] 上的正交多项式序列
- n+1n+1n+1 次 Legendre 多项式 Pn+1(t)P_{n+1}(t)Pn+1(t) 的零点就是 Gauss 公式的节点
区间 [−1,1][-1,1][−1,1] 上的 Gauss 公式
I(g)≈∫−11g(t)dt≈∑k=0nAk~g(tk)Ak~=∫−11∏j=0,j≠knt−tjtk−tjdt, k=0,1,...,n \begin{aligned} I(g) &\approx \int_{-1}^1g(t)dt \approx \sum_{k=0}^n \tilde{A_k}g(t_k) \\ \tilde{A_k} &= \int_{-1}^1 \prod_{j=0,j \ne k}^n \frac{t-t_j}{t_k-t_j}dt,\ k = 0,1,...,n \end{aligned} I(g)Ak~≈∫−11g(t)dt≈k=0∑nAk~g(tk)=∫−11j=0,j=k∏ntk−tjt−tjdt, k=0,1,...,n
- 当 n=0n=0n=0 时,t0=0t_0=0t0=0,A0~=2\tilde{A_0}=2A0~=2,得 1 个节点的 Gauss 公式
∫−11g(t)dt≈2g(0) \int_{-1}^1g(t)dt \approx 2g(0) ∫−11g(t)dt≈2g(0)
- 当 n=1n=1n=1 时,t0=−13t_0=-\frac{1}{\sqrt{3}}t0=−31,t1=13t_1=\frac{1}{\sqrt{3}}t1=31,A0~=A1~=1\tilde{A_0}=\tilde{A_1}=1A0~=A1~=1,得 2 个节点的 Gauss 公式
∫−11g(t)dt≈g(−13)+g(13) \int_{-1}^1 g(t)dt \approx g(-\frac{1}{\sqrt{3}})+g(\frac{1}{\sqrt{3}}) ∫−11g(t)dt≈g(−31)+g(31)
- 当 n=2n=2n=2 时,t0=−35t_0=-\sqrt{\frac{3}{5}}t0=−53,t1=0t_1=0t1=0,t2=35t_2=\sqrt{\frac{3}{5}}t2=53,A0~=A2~=59\tilde{A_0}=\tilde{A_2}=\frac{5}{9}A0~=A2~=95,A1~=89\tilde{A_1}=\frac{8}{9}A1~=98,得 3 点 Gauss 公式
∫−11g(t)dt≈59g(−35)+89g(0)+59g(35) \int_{-1}^1 g(t)dt \approx \frac{5}{9}g(-\sqrt{\frac{3}{5}})+\frac{8}{9}g(0)+\frac{5}{9}g(\sqrt{\frac{3}{5}}) ∫−11g(t)dt≈95g(−53)+98g(0)+95g(53)
区间 [a,b][a,b][a,b] 上的 Gauss 公式
作变换 x=a+b2+b−a2t\pmb{x=\frac{a+b}{2}+\frac{b-a}{2}t}x=2a+b+2b−atx=2a+b+2b−atx=2a+b+2b−at,可得
I(f)=∫abf(x)dx=∫−11b−a2f(a+b2+b−a2t)dt
I(f) = \int_a^b f(x)dx = \int_{-1}^1\frac{b-a}{2}f(\frac{a+b}{2}+\frac{b-a}{2}t)dt
I(f)=∫abf(x)dx=∫−112b−af(2a+b+2b−at)dt
由 [−1,1][-1,1][−1,1] 上的 Gauss 公式得 [a,b][a, b][a,b] 上的 Gauss 公式为
In(f)=∑k=0nb−a2Ak~f(a+b2+b−a2tk)
I_n(f) = \sum_{k=0}^n\frac{b-a}{2}\tilde{A_k}f(\frac{a+b}{2}+\frac{b-a}{2}t_k)
In(f)=k=0∑n2b−aAk~f(2a+b+2b−atk)
Gauss 公式的截断误差
设 f(x)∈C2n+2[a,b]f(x) \in C^{2n+2}[a,b]f(x)∈C2n+2[a,b],则 Gauss 公式 ∫abf(x)dx≈∑k=0nAkf(xk)\int_a^bf(x)dx \approx \sum_{k=0}^nA_kf(x_k)∫abf(x)dx≈∑k=0nAkf(xk) 的截断误差为
R(f)=∫abf(x)dx−∑k=0nAkf(xk)=f(2n+2)(ξ)(2n+2)!∫abWn+12(x)dx
R(f) = \int_a^bf(x)dx - \sum_{k=0}^nA_kf(x_k) = \frac{f^{(2n+2)}(\xi)}{(2n+2)!}\int_a^bW_{n+1}^2(x)dx
R(f)=∫abf(x)dx−k=0∑nAkf(xk)=(2n+2)!f(2n+2)(ξ)∫abWn+12(x)dx
其中,Wn+1(x)=∏j=0n(x−xj), ξ∈(a,b)W_{n+1}(x)=\prod_{j=0}^n(x-x_j),\ \xi\in(a,b)Wn+1(x)=∏j=0n(x−xj), ξ∈(a,b)
Gauss 公式的稳定性和收敛性
- Gauss 公式 ∫abf(x)dx≈∑k=0nAkf(xk)\int_a^bf(x)dx \approx \sum_{k=0}^nA_kf(x_k)∫abf(x)dx≈∑k=0nAkf(xk) 的求积系数 Ak>0(k=0,1,...,n)A_k \gt 0(k=0,1,...,n)Ak>0(k=0,1,...,n)
- 由于舍入误差的影响,f(xk)f(x_k)f(xk) 往往有误差,即用 f(xk)f(x_k)f(xk) 的近似值 fk~\tilde{f_k}fk~ 计算,因此实际求得定积分的近似值为
In(f~)=∑k=0nAkfk~ I_n(\tilde{f}) = \sum_{k=0}^n A_k \tilde{f_k} In(f~)=k=0∑nAkfk~
- 求积公式 In(f)=∑k=0nAkf(xk)I_n(f) = \sum_{k=0}^n A_k f(x_k)In(f)=∑k=0nAkf(xk),其近似值为 In(f~)=∑k=0nAkfk~I_n(\tilde{f}) = \sum_{k=0}^n A_k \tilde{f_k}In(f~)=∑k=0nAkfk~。如果对于任意 ϵ>0\epsilon \gt 0ϵ>0,存在 δ>0\delta \gt 0δ>0,当 max0≤k≤n∣f(xk)−fk~∣<δ\max_{0 \le k \le n}|f(x_k)-\tilde{f_k}| \lt \deltamax0≤k≤n∣f(xk)−fk~∣<δ 时,有 ∣In(f)−In(f~)∣<ϵ|I_n(f)-I_n(\tilde{f})| \lt \epsilon∣In(f)−In(f~)∣<ϵ,则称该求积公式是稳定的
- Gauss 公式 ∫abf(x)dx≈∑k=0nAkf(xk)\int_a^b f(x)dx \approx \sum_{k=0}^nA_kf(x_k)∫abf(x)dx≈∑k=0nAkf(xk) 是稳定的
- 给定求积公式 ∫abf(x)dx≈∑k=0nAk(n)f(xk(n))\int_a^bf(x)dx \approx \sum_{k=0}^n A_k^{(n)}f(x_k^{(n)})∫abf(x)dx≈∑k=0nAk(n)f(xk(n)),如果对任意 ϵ>0\epsilon \gt 0ϵ>0,存在正整数 NNN,当 n>Nn \gt Nn>N 时,有 ∣I(f)−In(f)<ϵ∣|I(f)-I_n(f) \lt \epsilon|∣I(f)−In(f)<ϵ∣,则称该求积公式收敛
- 设 f(x)∈C[a,b]f(x) \in C[a, b]f(x)∈C[a,b],则 Gauss 公式收敛
复化 Gauss
TODO
数值微分
f′(x0)≈f(x0+h)−f(x0)h,(向前差商)f′(x0)≈f(x0)−f(x0−h)h,(向后差商)f′(x0)≈f(x0+h)−f(x0−h)2h,(中心差商) \begin{aligned} f^{'}(x_0) &\approx \frac{f(x_0+h)-f(x_0)}{h}, \quad (向前差商) \\ f^{'}(x_0) &\approx \frac{f(x_0)-f(x_0-h)}{h}, \quad (向后差商) \\ f^{'}(x_0) &\approx \frac{f(x_0+h)-f(x_0-h)}{2h}, \quad (中心差商) \end{aligned} f′(x0)f′(x0)f′(x0)≈hf(x0+h)−f(x0),(向前差商)≈hf(x0)−f(x0−h),(向后差商)≈2hf(x0+h)−f(x0−h),(中心差商)
将 f(x0+h)f(x_0+h)f(x0+h),f(x0−h)f(x_0-h)f(x0−h) 在 x0x_0x0 点 Taylor 展开,可以得
f′(x0)−f(x0+h)−f(x0)h=−h2f′′(x0)+O(h2)f′(x0)−f(x0)−f(x0−h)h=h2f′′(x0)+O(h2)f′(x0)−f(x0+h)−f(x0−h)2h=−h26f′′′(x0)+O(h3)
\begin{aligned}
f^{'}(x_0) - \frac{f(x_0+h)-f(x_0)}{h} &= -\frac{h}{2}f^{''}(x_0)+O(h^2) \\
f^{'}(x_0) - \frac{f(x_0)-f(x_0-h)}{h} &= \frac{h}{2}f^{''}(x_0)+O(h^2) \\
f^{'}(x_0) - \frac{f(x_0+h)-f(x_0-h)}{2h} &= -\frac{h^2}{6}f^{'''}(x_0)+O(h^3)
\end{aligned}
f′(x0)−hf(x0+h)−f(x0)f′(x0)−hf(x0)−f(x0−h)f′(x0)−2hf(x0+h)−f(x0−h)=−2hf′′(x0)+O(h2)=2hf′′(x0)+O(h2)=−6h2f′′′(x0)+O(h3)