1. Guass型求积公式

定义1:在区间[a,b][a,b][a,b]内,如果由节点x0,x1,⋯,xnx_0,x_1,\cdots,x_nx0​,x1​,⋯,xn​构造的插值型求积公式
∫abf(x)dx≅∑k=0nAkf(xk)\int_a^b f(x)dx \cong \sum_{k=0}^nA_k f(x_k) ∫ab​f(x)dx≅k=0∑n​Ak​f(xk​)
具有2n+1次代数精度,则称该求积公式为Guass求积公式,求积节点xk(k=0,1,⋯,n)x_k(k=0,1,\cdots,n)xk​(k=0,1,⋯,n)为Guass点。

Guass型求积公式是各种数值积分公式中精度较高的一种,它与梯形公式和Simpson公式等一样,也是插值型的。所不同是,它所选择的n+1个节点x0,x1,⋯,xnx_0,x_1,\cdots,x_nx0​,x1​,⋯,xn​并非等距节点,也取消了x0x_0x0​和xnx_nxn​与积分上下限a和b相重合的限制,其代数精度由此可提高到2n+1次。

构造Guass型求积公式,首先要确定出AkA_kAk​和xk(k=0,1,⋯,n)x_k(k=0,1,\cdots,n)xk​(k=0,1,⋯,n)两类系数,而求系数的关键点和难点在于求Guass点xkx_kxk​,下面以构造区间[−1,1][-1,1][−1,1]上的两点Guass公式
∫−11f(x)dx≅A0f(x0)+A1f(x1)\int_{-1}^{1}f(x)dx \cong A_0f(x_0)+A_1f(x_1) ∫−11​f(x)dx≅A0​f(x0​)+A1​f(x1​)
为例,说明如何确定求积系数和求积节点。根据Guass求积公式
{A0+A1+⋯+An=b−aA0x0+A1x1+⋯+Anxn=(b2−a2)/2⋯A0x02n+1+A1x12n+1+⋯+Anxn2n+1=(b2n+2−a2n+2)/(2n+2)(1)\begin{cases} A_0+A_1+\cdots+A_n=b-a \\ A_0x_0+A_1x_1+\cdots+A_nx_n=(b^2-a^2)/2 \\ \cdots \\ A_0x_0^{2n+1}+A_1x_1^{2n+1}+\cdots+A_nx_n^{2n+1}=(b^{2n+2}-a^{2n+2})/(2n+2) \end{cases} \tag{1} ⎩⎪⎪⎪⎨⎪⎪⎪⎧​A0​+A1​+⋯+An​=b−aA0​x0​+A1​x1​+⋯+An​xn​=(b2−a2)/2⋯A0​x02n+1​+A1​x12n+1​+⋯+An​xn2n+1​=(b2n+2−a2n+2)/(2n+2)​(1)
其中AiA_iAi​和xi(i=0,1,2,⋯,n)x_i(i=0,1,2,\cdots, n)xi​(i=0,1,2,⋯,n)均为待定,则上式方程组具有(2n+2)个待定系数。

列出非线性方程组为:
A0+A1=b−a=1−(−1)=2A0x0+A1x1=b2−a22=0A0x02+A1x12=b3−a33=23A0x03+A1x13=b4−a44=0A_0+A_1=b-a=1-(-1)=2 \\ A_0x_0+A_1x_1= \frac{b^2-a^2}{2}=0 \\ A_0x_0^2 + A_1x_1^2=\frac{b^3-a^3}{3} =\frac{2}{3} \\ A_0x_0^3 + A_1x_1^3=\frac{b^4-a^4}{4}=0 A0​+A1​=b−a=1−(−1)=2A0​x0​+A1​x1​=2b2−a2​=0A0​x02​+A1​x12​=3b3−a3​=32​A0​x03​+A1​x13​=4b4−a4​=0
解之,得:
A0=A1=1;x0=−13和x1=13A_0=A_1=1; \quad x_0=-\frac{1}{\sqrt{3}} 和 x_1=\frac{1}{\sqrt{3}} A0​=A1​=1;x0​=−3​1​和x1​=3​1​
因此,两点Guass公式为:
∫−11f(x)dx≅f(−13)+f(13)\int_{-1}^1f(x)dx \cong f(-\frac{1}{\sqrt{3}}) + f(\frac{1}{\sqrt{3}}) ∫−11​f(x)dx≅f(−3​1​)+f(3​1​)
若能用某种简便方法先求出求积节点,非线性方程组(1)就变称线性方程组(2),此时求积系数AkA_kAk​就能够比较容易地求得
{A0+A1+⋯+An=b−aA0x0+A1x1+⋯+Anxn=(b2−a2)/2⋯A0x0n+A1x1n+⋯+Anxnn=(bn+1−an+1)/(n+1)(2)\begin{cases} A_0+A_1+\cdots+A_n=b-a \\ A_0x_0+A_1x_1+\cdots+A_nx_n=(b^2-a^2)/2 \\ \cdots \\ A_0x_0^n+A_1x_1^n+\cdots+A_nx_n^n=(b^{n+1}-a^{n+1})/(n+1) \end{cases} \tag{2} ⎩⎪⎪⎪⎨⎪⎪⎪⎧​A0​+A1​+⋯+An​=b−aA0​x0​+A1​x1​+⋯+An​xn​=(b2−a2)/2⋯A0​x0n​+A1​x1n​+⋯+An​xnn​=(bn+1−an+1)/(n+1)​(2)
定理1:求积节点xk(k=0,1,2,⋯,n)x_k(k=0,1,2,\cdots,n)xk​(k=0,1,2,⋯,n)是Guass点的充要条件是,以这些点位零点的多项式
A(x)=∏k=0n(x−xk)A(x)=\prod_{k=0}^n(x-x_k) A(x)=k=0∏n​(x−xk​)
与任意次数不超过n的多项式p(x)p(x)p(x)均正交,即:
∫abp(x)A(x)dx=0\int_a^bp(x)A(x)dx=0 ∫ab​p(x)A(x)dx=0

2. Legendre多项式

Legendre多项式由下列表达式定义:
{L0(x)=1Ln(x)=12nn!dndxn[(x2−1)n](n=1,2,⋯)\begin{cases} L_0(x)=1 \\ L_n(x)=\frac{1}{2^nn!}\frac{d^n}{dx^n}[(x^2-1)^n] \quad (n=1,2,\cdots) \end{cases} {L0​(x)=1Ln​(x)=2nn!1​dxndn​[(x2−1)n](n=1,2,⋯)​
Legendre多项式的几个重要性质如下:

(1)在区间[−1,1][-1,1][−1,1]上,n次Legendre多项式Ln(x)L_n(x)Ln​(x)与任意低于n次的多项式p(x)p(x)p(x)正交,即
∫−11p(x)Ln(x)dx=0\int_{-1}^1p(x)L_n(x)dx=0 ∫−11​p(x)Ln​(x)dx=0
(2)Legendre多项式所有的根在[−1,1][-1,1][−1,1]中,并且是不相同的实根。

(3)递推关系为:
Ln(x)=2n−1nxLn−1(x)−n−1nLn−2(x)n≥2L_n(x)=\frac{2n-1}{n}xL_{n-1}(x)-\frac{n-1}{n}L_{n-2}(x) \quad n\geq 2 Ln​(x)=n2n−1​xLn−1​(x)−nn−1​Ln−2​(x)n≥2

3. Guass-Legendre求积公式

根据Legendre多项式性质(1),可以去Legendre多项式的零点作为求积节点来构造Guass公式。这种求积方法就称为Guass-Legendre求积法。

例如,为了构造3点Guass公式
∫−11f(x)dx≅∑k=13Akf(xk)\int_{-1}^1 f(x)dx \cong \sum_{k=1}^3A_kf(x_k) ∫−11​f(x)dx≅k=1∑3​Ak​f(xk​)
可取3次Legendre多项式L3(x)L_3(x)L3​(x)的零点
x1=−3/5,x2=0,x3=3/5x_1=-\sqrt{3/5}, \quad x_2=0, \quad x_3=\sqrt{3/5} x1​=−3/5​,x2​=0,x3​=3/5​
作为求积节点。令求积公式对于f(x)=1,x,x2f(x)=1,x,x^2f(x)=1,x,x2都准确成立,则有:
{A1+A2+A3=∫−11dx=2A1x1+A2x2+A3x3=∫−11xdx=0A1x12+A2x22+A3x32=∫−11x2dx=2/3\begin{cases} A_1+A_2+A_3=\int_{-1}^1dx=2 \\ A_1x_1+A_2x_2+A_3x_3 = \int_{-1}^1 xdx=0 \\ A_1x_1^2+A_2x_2^2+A_3x_3^2 = \int_{-1}^{1}x^2dx=2/3 \end{cases} ⎩⎪⎨⎪⎧​A1​+A2​+A3​=∫−11​dx=2A1​x1​+A2​x2​+A3​x3​=∫−11​xdx=0A1​x12​+A2​x22​+A3​x32​=∫−11​x2dx=2/3​
解之,得3个求积加权系数A1=5/9,A2=8/9,A3=5/9A_1=5/9,A_2=8/9,A_3=5/9A1​=5/9,A2​=8/9,A3​=5/9,最后得到3点Guass求积公式为:
∫−11f(x)dx≅59f(−35)+89f(0)+59f(35)\int_{-1}^1f(x)dx \cong \frac{5}{9}f(-\sqrt{\frac{3}{5}})+\frac{8}{9}f(0)+\frac{5}{9}f(\sqrt{\frac{3}{5}}) ∫−11​f(x)dx≅95​f(−53​​)+98​f(0)+95​f(53​​)
如果区间[a,b][a,b][a,b]是任意的,则需通过如下变换:
x=b−a2t+a+b2dx=b−a2dtx=\frac{b-a}{2}t+\frac{a+b}{2} \quad dx=\frac{b-a}{2}dt x=2b−a​t+2a+b​dx=2b−a​dt
将在[a,b][a,b][a,b]上的积分化为在区间[−1,1][-1,1][−1,1]上的积分,即:
∫abf(x)dx≅b−a2∫−11f(b−a2t+a+b2)dt=b−a2∫−11φ(t)dt\int_a^bf(x)dx \cong \frac{b-a}{2}\int_{-1}^1 f(\frac{b-a}{2}t+\frac{a+b}{2})dt=\frac{b-a}{2}\int_{-1}^1 \varphi(t)dt ∫ab​f(x)dx≅2b−a​∫−11​f(2b−a​t+2a+b​)dt=2b−a​∫−11​φ(t)dt
于是,在区间[a,b][a,b][a,b]上的两点Guass-Legendre公式为:
∫abf(x)dx≅b−a2[f(−b−a23+a+b2)+f(b−a23+b+a2)]\int_a^b f(x)dx \cong \frac{b-a}{2}[f(-\frac{b-a}{2\sqrt{3}}+\frac{a+b}{2})+f(\frac{b-a}{2\sqrt{3}}+\frac{b+a}{2})] ∫ab​f(x)dx≅2b−a​[f(−23​b−a​+2a+b​)+f(23​b−a​+2b+a​)]

Guass-Legendre(高斯-勒让德)求积方法 | Guass型求积公式 + Legendre多项式相关推荐

  1. GSL科学计算库——计算高斯-勒让德积分

    相关文章: Windows系统Qt5配置GSL科学计算库 Windows系统下Cygwin+Dev C ++ 配置GSL科学计算库 假设计算下列积分: ∫0πexcos(x)dx\int_0^\pi ...

  2. 高斯勒让德(Gauss-legendre)求解多重积分(python,数值积分)

    第四十四篇 高斯勒让德求解多重积分 多重积分 在工程分析中,经常需要在一个面积或体积上对函数进行积分.多重积分的解析方法在有限的情况下是可能的,但在这一篇中使用数值积分去求解.一维的函数积分详见重复牛 ...

  3. 数值积分之插值型求积公式

    上篇博文中(数值积分初步介绍)已经初步介绍了数值积分,下面介绍一种求解数值积分的方法--插值型求积公式. 插值型求积公式就是利用拉格朗日插值法对被积函数进行插值近似,求其插值函数来代替被积函数进行求解 ...

  4. matlab中求积函数,MATLAB软件及高斯勒让德求积公式MATLAB软件及高斯勒让德求积公式.doc...

    MATLAB软件及高斯勒让德求积公式MATLAB软件及高斯勒让德求积公式 数 值 分 析 课 程 实 验 报 告 2012-2013学年度 第二学期 系别:数学与计算机科学学院 实验课程数值分析班 级 ...

  5. 数据积分-牛顿科茨法与高斯勒让德法对比及示例

    在结点xi上插值f的次数最多是n次的多项式 p(x)=∑f(xi)li(x) 拉格朗日插值多项式: li(x)= ∏(x-xj)/(xi-xj) 基于插值的数值积分: ∫f(x)dx≈∫p(x)dx= ...

  6. 重复高斯勒让德法则(gauss-legendre)求积分(python,数值积分)

    第四十一篇 高斯勒让德法则 牛顿-科特斯法则很方便使用,因为样本点在积分范围内均匀分布,而且权重系数很容易记住(至少到辛普森法则).详情可见重复牛顿-科特斯法则 高斯法则采取样本点在积分范围内的最佳间 ...

  7. 高斯勒让德求积公式matlab通用程序,数值分析——Gauss-Legendre 求积分(Matlab实现)...

    2020 4.4 题目:编写Gauss求积法计算积分的程序(Gauss点数取1,2,3,4,5即可)并用于计算积分 ∫10sinxxdx∫01sin⁡xxdx\int_{0}^{1} \frac{\s ...

  8. 高斯-勒让德求积分的Python程序

    理论知识: 勒让德多项式及性质 第四节 高斯(Gauss)求积公式 高斯-勒让德求积公式及Matlab实现 目标函数求积区间为[-1,1]时 代码: #高斯-勒让德求积公式 from sympy im ...

  9. 高斯-勒让德积分——MATLABPython混合实现

    高斯-勒让德积分 前言 一种很NB的数值积分.原理我们就不多说了,这里只介绍怎么直接拿来用. 核心问题是如何获取系数表. 参数介绍 对于函数 f(x),积分区间为 a 到 b,求在这一区间上的定积分. ...

  10. MATLAB高斯-勒让德积分求解

    MATLAB高斯-勒让德积分求解 积分函数 function [ y ] = CalcuFunctionValue( x ) y=exp(-x^2);%积分函数 end 求积分算法函数 functio ...

最新文章

  1. STM32F0 定时器触发ADC,多通道采样、DMA传输数据的配置
  2. UI必备!不同形式的图标设计灵感
  3. 流行趋势-立体感和艺术剪纸风海报美妆设计
  4. 图像处理之形态学梯度计算
  5. SQLite 指南之FAQ(中文)
  6. Django开发密码管理表实例【附源码】
  7. Python标准库 urllib
  8. PostgreSQL在何处处理 sql查询之八
  9. php版的求表达式的真值表-TrueValueTable
  10. Illustrator CC 2019for Mac完美直装版无需破解
  11. t6服务器虚拟打印机,priPrinter Professional(免费的虚拟打印机) V6.6.0 中文免费版
  12. 电路串联和并联图解_蓄电池串联与并联方式图解
  13. Windows10 1809版本下载地址
  14. 4-20mA电流光纤中继器的原理和应用
  15. 倾斜摄影测量数据的一些简析
  16. docker 网络的解释
  17. markdown如何在表格内换行?
  18. 【Android开发】
  19. 如何使用 DOI 快速找到论文的全文下载网址
  20. spring 中的JMS是什么?

热门文章

  1. VVC之SCC(一):IBC
  2. 华为p20位置服务器在哪打开,华为p20在哪里打开北斗定位 | 手游网游页游攻略大全...
  3. 安卓性能优化全面总结(友盟性能优化大赛获奖作品)
  4. word参考文献前面的自动编号在序号10以后,空隙变大
  5. 调试STM32f401过程出现的问题
  6. POJ 1201 Intervals(差分约束)
  7. 4个终于被破译的世界级密码
  8. 如何理解STM32单片机引脚的复用功能?
  9. java:找不到符号
  10. java前端开发简历_web前端工程师简历