高斯积分 您所在的位置:网站首页 laplace公式推导legendre 高斯积分

高斯积分

2024-07-03 09:18| 来源: 网络整理| 查看: 265

积分法则 考虑实数区间 \([-1,1]\) 上的积分 $$ \int_{-1}^1 f(\xi)\, d\xi. \tag{1} $$ 一个数值积分法则 \( (\xi_i,\ w_i),i=1,\dots,n\), 即积分点和积分权重, 具有如下形式 $$ \int_{-1}^1 f(\xi) \,d\xi \approx \sum_{i=1}^{n} \omega_i f \left( \xi_i\right). \tag{2} $$ 我们希望选取的积分法则具有尽可能高的数值精度, 即数值积分 (2) 对尽可能高阶的多项式准确成立. 一般来说, \(2n\) 个参数可以唯一确定一个 \(2n-1\) 次多项式. 因此我们希望可以找到积分法则使得下面的等式成立 $$ \int_{-1}^{1} p(\xi) \,d\xi = \sum_{i=1}^{n} \omega_i p \left( \xi_i\right), \quad \forall\, p\in \mathbb{P}_{2n-1}. \tag{3} $$ 一个简单的例子 问题: 寻找积分法则 \((\xi_i,\ w_i),i=1,2\) 使如下等式成立 \[ \int_{-1}^{1} p(\xi) \,d\xi = \omega_1 p(\xi_1)+\omega_2 p(\xi_2), \quad \forall\, p\in \mathbb{P}_{3}([-1,1]). \tag{4} \] 求解: 在等式 (4) 中分别另 \(p(x)=1,\ \xi,\ \xi^2,\ \xi^3\), 得到 4 个方程: $$ \omega_1+\omega_2=\int_{-1}^{1} 1 \,d\xi =2,\quad \omega_1 \xi_1+\omega_2\xi_2=\int_{-1}^{1} \xi \,d\xi =0,\\ \omega_1 \xi_1^2+\omega_2\xi_2^2=\int_{-1}^{1} \xi^2 \,d\xi =\frac{3}{2}, \quad \omega_1 \xi_1^3+\omega_2\xi_2^3=\int_{-1}^{1} \xi^3 \,d\xi =0. $$ 求解上面的非线性方程组 (可以利用 Python 符号求解) 可以得到积分法则: \[ (\xi_1,\ \omega_1)=(-\frac{\sqrt{3}}{3},\ 1)=(-0.577350269189626,\ 1)\\ (\xi_2,\ \omega_2)=(\frac{\sqrt{3}}{3},\ 1)=(0.577350269189626,\ 1). \] 可以验证上面得到的积分法则对所有的 3-阶多项式精确成立. # 在线运行如下代码求解非线性方程组 https://live.sympy.org/ from sympy import Symbol, nonlinsolve w1, w2 = Symbol('w1'), Symbol('w2') x1, x2 = Symbol('x1'), Symbol('x2') eq1 = w1 + w2 - 2 eq2 = w1 * x1 + w2 * x2 eq3 = w1 * x1**2 + w2 * x2**2 - 2/3 eq4 = w1 * x1**3 + w2 * x2**3 nonlinsolve([eq1, eq2, eq3, eq4], [w1, w2, x1, x2]) # print(nonlinsolve([eq1, eq2, eq3, eq4], [w1, w2, x1, x2])) Gauss 积分

更高阶的积分法则可以通过上面的方法计算得到, 但是最常用的 Gauss 积分可以很容易地通过正交多项式 (比如 Legendre 多项式) 来计算.

Legendre 多项式

在 \([-1,1]\) 上满足如下性质的多项式被称为 Legendre 多项式:

对任一 \(n\in \mathbb{N}\), \(P_n(x)\) 是 \(n\)-阶首一多项式 (最高阶项系数为 1);对所有阶数小于 \(n\) 的多项式 \(P(x)\), \(\int_{-1}^{1}P(x)P_n(x)\ dx=0\).

可以证明每一个 Legendre 多项式的根都是单根且对称分布在 \((-1, 1)\) 内. 重要地是, 如果我们以 \(n\)-阶 Legendre 多项式 \(P_n(x)\) 的根作为积分节点, 再加上合适的权重, 就可以得到 Gauss-Legendre 积分法则 (具有 \(2n-1\) 阶精度).

一个重要定理 定理: 令 \(\xi_i,i=1,2,\dots,n\) 为 \(P_n(\xi)\) 的 \(n\) 个根, 选取权重 $$ \omega_i = \int_{-1}^{1} L_i(\xi)\ d\xi, $$ 这里 \(L_i(\xi) = \sum_{j=1,j\neq i}^n \frac{\xi-\xi_j} {\xi_i-\xi_j}\) 为 Lagrange 插值基函数. 那么, 对所有小于 \(2n-1\) 阶的多项式 \(P(\xi)\), 我们有 $$ \int_{-1}^{1} P(\xi) \ d\xi = \sum_{i=1}^{n} \omega_i P(\xi_i). $$ 证明: 由多项式分解理论可知, 存在 \(Q(\xi),R(\xi)\in \mathbb{P}{n-1}\) 使得 \(P(\xi)\) 具有如下分解 $$ P(\xi) = Q(\xi)\, P_n(\xi)+R(\xi). $$ 因为 \(P_n(\xi_i)=0\), 所以 \(P(\xi_i)=R(\xi_i)\). 由 Legendre 多项式的正交性质, 有 $$ \int_{-1}^{1} P(\xi)\ d\xi = \int_{-1}^{1} Q(\xi)\, P_n(\xi)+R(\xi) \ dx = \int_{-1}^{1} R(\xi) \ d\xi. \tag{5} $$ 因为 \(\mathbb{P}_{n-1}\ni R(\xi)=\sum_{i=1}^n R(\xi_i)L_i(\xi) =\sum_{i=1}^n P(\xi_i)L_i(\xi)\), 可知 $$ \int_{-1}^{1} R(\xi) \ d\xi = \int_{-1}^{1} \left( \sum_{i=1}^n P(\xi_i)L_i(\xi) \right) \ d\xi \\ =\sum_{i=1}^n \left(\int_{-1}^{1} L_i(\xi) \ d\xi \right) P(\xi_i) = \sum_{i=1}^n \omega_i P(\xi_i). $$ 代入 (5) 完成定理证明. 一般区间上的数值积分 通常的做法是将一般区间 \([a,b], a,b\in \mathbb{R}\) 上的积分线性变换到参考单元 \([-1,1]\) 上. 具体来说, 积分 (1) 有如下数值积分公式 $$ \int_{a}^b f(x) dx=\frac{b-a}{2} \int_{-1}^{1}f \left( \frac{b-a}{2}\xi+\frac{a+b}{2} \right) \, d\xi \\ \approx \frac{b-a}{2} \sum_{i}\omega_i f \left( \frac{b-a}{2}\xi_i+\frac{a+b}{2} \right) $$ 因此, 区间 \([a,b]\) 上的积分法则 \((x_i, w_i)\) 为 $$ x_i = \frac{b-a}{2}\xi_i+\frac{a+b}{2},\quad w_i = \frac{b-a}{2} \omega_i, $$ 即 $$ \int_{a}^b f(x) dx \approx \sum_{i}w_i f (x_i) . $$ 附录 A: Gauss-Legendre n积分点 \(\pm\xi_i\)权重 \(\omega_i\)21.01.000000000000000301.3333333333333331.00.3333333333333334 0.4472135954999580.8333333333333331.00.16666666666666750.00.568888888888888890.53846931010568300.478628670499366470.906179845938663990.2369268850561890960.23861918608319690.467913934572691050.66120938646626450.360761573048138600.93246951420315200.1713244923791703570.00.417959183673469390.40584515137739720.381830050505118940.74153118559939440.279705391489276670.94910791234275850.1294849661688696980.18343464249564980.362683783378361980.52553240991632900.313706645877887290.79666647741362670.222381034453374470.96028985649753620.10122853629037626 附录 B: Gauss-Lobatto n积分点 \(\pm\xi_i\)权重 \(\omega_i\)21.01.030.01.3333333333333331.00.33333333333333340.4472135954999580.8333333333333331.00.16666666666666750.00.7111111111111110.6546536707079770.5444444444444441.00.10000000000000060.2852315164806450.5548583770354860.7650553239294650.3784749562978471.00.06666666666666770.00.4876190476190480.4688487934707140.4317453812098630.8302238962785670.2768260473615661.00.04761904761904880.2092992179024790.4124587946587040.5917001814331420.3411226924835040.8717401485096070.2107042271435061.00.035714285714286 参考文献 维基百科: Gauss 积分.蒋尔雄 赵风光 苏仰锋 (2008). 数值逼近(第二版) 复旦大学出版社.Burden, R. L., & Faires, J. D. (2010). Numerical Analysis. In Cengage Learning (9th ed.).在线计算 Gauss-Legendre 积分点和积分权重.在线计算 Gauss-Lobatto 积分点和积分权重.

分享到:


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有