数值积分(十):Gauss 型积分总结
Gauss 型求积公式
更详细的介绍可以阅读 Wolfram MathWorld 的相关文档GaussianQuadrature
在前面我们已经讨论了 Gauss-Legendre 求积公式和 Gauss-Chebyshev 求积公式,其基本思想均来自于 Thm 7.2,除此之外还有几类 Gauss 型求积公式,在这里做一个列表进行汇总
权函数 $\rho(x)$ | 积分区间 | $x_k$ 作为根所对应的多项式 |
---|---|---|
$1$ | $(-1,1)$ | $P_n(x)$ Legendre多项式 |
$e^{-x}$ | $(0,+\infty)$ | $L_n(x)$Laguerre多项式 |
$e^{-x^2}$ | $(-\infty,+\infty)$ | $H_n(x)$Hermite多项式 |
$\dfrac{1}{\sqrt{1-x^2}}$ | $(-1,1)$ | $T_n(x)$第一类 Chebyshev 多项式 |
$\sqrt{1-x^2}$ | $(-1,1)$ | $U_n(x)$第二类 Chebyshev 多项式 |
$\sqrt{x}$ | $(0,1)$ | $\sqrt{x}P_{2n+1}(\sqrt{x})$ |
$\dfrac{1}{\sqrt{x}}$ | $(0,1)$ | $P_{2n}(\sqrt{x})$ |
$(1-x)^\alpha(1+x)^\beta$ | $(-1,1)$ | $P_n^{(\alpha,\beta)}$Jacobi 多项式 ,当 $\alpha=\beta=0$ 时退化为 Legendre 多项式 |
这里顺带列出上述几种多项式作为解对应的微分方程
多项式 | 微分方程 |
---|---|
$P_n(x)$ | $(1-x^2)\dfrac{\mathrm{d}^2y(x)}{\mathrm{d}x^2}-2x\dfrac{\mathrm{d}y(x)}{\mathrm{d}x}+n(n+1)y(x)=0$ |
$L_n(x)$ | $x\dfrac{\mathrm{d}^2y(x)}{\mathrm{d}x^2}+(1-x)\dfrac{\mathrm{d}y(x)}{\mathrm{d}x}+ny(x)=0$ |
$H_n(x)$ | $\dfrac{\mathrm{d}^2y(x)}{\mathrm{d}x^2}-2x\dfrac{\mathrm{d}y(x)}{\mathrm{d}x}+2ny(x)=0$ |
$T_n(x)$ | $(1-x)\dfrac{\mathrm{d}^2y(x)}{\mathrm{d}x^2}-x\dfrac{\mathrm{d}y(x)}{\mathrm{d}x}+n^2y(x)=0$ |
$U_n(x)$ | $(1-x^2)\dfrac{\mathrm{d}^2y(x)}{\mathrm{d}x^2}-3x\dfrac{\mathrm{d}y(x)}{\mathrm{d}x}+n(n+2)y(x)=0$ |
$P_n^{(\alpha,\beta)}$ | $(1-x^2)\dfrac{\mathrm{d}^2y(x)}{\mathrm{d}x^2}+[\beta-\alpha-(\alpha+\beta+2)x]\dfrac{\mathrm{d}y(x)}{\mathrm{d}x}+n(n+\alpha+\beta+1)y(x)=0$ |
Gauss-Laguerre 积分
更详细的介绍可以阅读 Wolfram MathWorld 的相关文档 Laguerre-GaussQuadrature
求积系数
误差余项
Gauss-Hermite 积分
更详细的介绍可以阅读 Wolfram MathWorld 的相关文档 Hermite-GaussQuadrature
求积系数
误差余项
权函数、Gauss 系数和误差余项
在第 7 节中对此有较详细的介绍,这里做更一般的讨论. 主要思想还是进行 Lagrange 插值多项式进行拟合
权函数的实际作用是用于归一化正交函数
Gauss 系数
其中 $a{k+1}$ 是 $\phi{n+1}(x)$ 中 $x^{n+1}$ 项前的系数
有递推关系
所得 Gauss 型求积公式对应的误差余项为
Gauss-Radau 积分
更详细的介绍可以阅读 Wolfram MathWorld 的相关文档RadauQuadrature
$xk$ 来自于多项式 $\dfrac{P{n-1}(x)+P_n(x)}{1+x}$ 的根.
求积系数
误差余项
Gauss-Lobatto 积分
更详细的介绍可以阅读 Wolfram MathWorld 的相关文档 LobattoQuadrature
$x_k$ 来自于多项式 $\dfrac{2}{n(n+1)P^2_n(x_k)}$ .
求积系数
误差余项
MATLAB 函数为
1 | [q,func] = quadl(fun,a,b,tol,trace,p1,p2,...); |
适用于精度要求高,被积函数曲线比较平滑的数值积分,速度和精度均较好.
Gauss-Kronrod 积分
更详细的介绍可以阅读 Wolfram MathWorld 的相关文档 Gauss-KronrodQuadrature
求积公式为
$x_k$ 为 $n$ 阶 Legendre 函数的根. 合理选取 $y_j$ 可使代数精度达到 $3n+4$. 事实上 $y_j$ 是 Stieltjes 多项式的根.
求积系数
MATLAB 函数为
1 | [q,errbnd] = quadgk(fun,a,b,param1,val1,param2,val2,...) |
适用于高精度和震荡数值积分,支持无穷区间,并且能够处理端点包含奇点的情况,同时还支持沿着不连续函数积分,复数域线性路径的围道积分法.