为什么要引入数值积分

由于Gauss型求积公式属于数值积分的内容,学东西总要知道它的来龙去脉,下面我简单介绍一下为什么要引入数值积分

给定函数f(x)∈C[a,b]f(x)\in C[a,b]f(x)∈C[a,b],考虑积分

I(f)=∫abf(x)dxI(f)=\int_{a}^{b} f(x) dxI(f)=∫ab​f(x)dx
的计算问题,从数学分析中知道,当已知f(x)f(x)f(x)的原函数为F(x)F(x)F(x)时,由牛顿-莱布尼兹公式,有
I(f)=∫abf(x)dx=F(b)−F(a)I(f)=\int_{a}^{b}f(x)dx=F(b)-F(a)I(f)=∫ab​f(x)dx=F(b)−F(a)
然而,在实际计算中,被积函数的f(x)f(x)f(x)的原函数经常无法用初等函数表示,但过于复杂。还有时,f(x)f(x)f(x)只在一些离散点上给出。在这样的情况下,就有必要借助数值方法来求I(f)I(f)I(f)的近似值。

Gauss型求积公式的定义

从正交多项式理论可知,在区间[a,b]上,对给定的权函数ρ(x)\rho(x)ρ(x),存在正交多项式系ωk(x)k=0∞{\omega_{k}(x)}_{k=0}^{\infty}ωk​(x)k=0∞​并且可以将其构造出来。进一步,已经证明了ωk(x)\omega_{k}(x)ωk​(x)在[a,b]上恰有k个相异的根,取ωn+1(x)\omega_{n+1}(x)ωn+1​(x)的n+1个根为求积结点,构造插值型求积公式,将得到具有2n+1次代数精度的求积公式,称如此构造出来的求积公式为Gauss型求积公式即:

如果求积结点x0,x1,....,xnx_{0},x_{1},....,x_{n}x0​,x1​,....,xn​,使插值型求积公式∫−11f(x)dx≈∑k=0nAkf(xk)\int_{-1}^{1}f(x)dx\approx\sum_{k=0}^{n}A_kf(x_k)∫−11​f(x)dx≈∑k=0n​Ak​f(xk​)的代数精度为2n+1,则称该求积公式为Gauss型求积公式,称这些求积结点为Gauss点。

特别地,Gauss求积公式当[a,b]=[-1,1]时,取ρ(x)\rho(x)ρ(x)=1,Gauss型求积公式称为Gauss求积公式,此时的求积结点
xk(k=1,2,3....)x_k(k=1,2,3....)xk​(k=1,2,3....)为n次Legendre多项式的根。
且Ak=∫−11ω(x)(x−xk)ω′(xk)dxA_k=\int_{-1}^{1} \frac{\omega(x)}{(x-x_k)\omega'(x_k)}dxAk​=∫−11​(x−xk​)ω′(xk​)ω(x)​dx
而Legendre多项式为:


打代码太南了,我手写偷下懒。

Gauss公式的应用

Gauss公式主要应用为二点Gauss公式和三点Gauss公式
二点Gauss公式:当n=2时,有 x1=−13,x2=13,A1=A2=1x_1=-\sqrt\frac{1}{3},x_2=\sqrt\frac{1}{3},A_1=A_2=1x1​=−31​​,x2​=31​​,A1​=A2​=1,求积公式为G2(f)=f(−13)+f(13)G_2(f)=f(-\sqrt\frac{1}{3})+f(\sqrt\frac{1}{3})G2​(f)=f(−31​​)+f(31​​)
三点Gauss求积公式:当n=3时,有x1=−35,x2=0,x3=35,A1=A3=59,A2=89x_1=-\sqrt\frac{3}{5},x_2=0,x_3=\sqrt\frac{3}{5},A_1=A_3=\frac{5}{9},A_2=\frac{8}{9}x1​=−53​​,x2​=0,x3​=53​​,A1​=A3​=95​,A2​=98​,求积公式为G3(f)=59f(−33)+89f(0)+59f(35)G_3(f)=\frac{5}{9}f(-\sqrt\frac{3}{3})+\frac{8}{9}f(0)+\frac{5}{9}f(\sqrt\frac{3}{5})G3​(f)=95​f(−33​​)+98​f(0)+95​f(53​​)
为了计算[a,b]上的定积分∫abf(x)dx\int_{a}^{b} f(x) dx∫ab​f(x)dx可以通过自变量的变换x=12(a+b+t∗(b−a))x=\frac{1}{2}(a+b+t*(b-a))x=21​(a+b+t∗(b−a))将其转换为[-1,1]上的积分,然后使用Gauss积分公式计算其近似值。
例:
用两点Gauss公式计算∫01sinxxdx\int_{0}^{1}\frac{sinx}{x}dx∫01​xsinx​dx
解:变换令x=0.5(t+1)
∫01sinxxdx=∫−11sin0.5(t+1)t+1dx\int_{0}^{1}\frac{sinx}{x}dx=\int_{-1}^{1}\frac{sin0.5(t+1)}{t+1}dx∫01​xsinx​dx=∫−11​t+1sin0.5(t+1)​dx
取t0=−13,t1=13t_0=\frac{-1}{\sqrt 3},t_1=\frac{1}{\sqrt 3}t0​=3​−1​,t1​=3​1​
∫01sinxxdx=0.5[sin0.5(t0+1)0.5(t0+1+sin0.5(t1+1)0.5(t1+1]\int_{0}^{1}\frac{sinx}{x}dx=0.5[\frac{sin0.5(t_0+1)}{0.5(t_0+1}+\frac{sin0.5(t_1+1)}{0.5(t_1+1}]∫01​xsinx​dx=0.5[0.5(t0​+1sin0.5(t0​+1)​+0.5(t1​+1sin0.5(t1​+1)​]

Matlab程序

function [w,p] = Gauss_point_1D(n,a,b)
% Gauss quarature point on [-1,1]
if n == 2w = [1,1];p = [-1/sqrt(3),1/sqrt(3)];
elseif n == 4w = [0.3478548451,0.3478548451,0.6521451549,0.6521451549];p = [0.8611363116,-0.8611363116,0.3399810436,-0.3399810436];
elseif n == 8w = [0.1012285363,0.1012285363,0.2223810345,0.2223810345,0.3137066459,0.3137066459,0.3626837834,0.3626837834];p = [0.9602898565,-0.9602898565,0.7966664774,-0.7966664774,0.5255324099,-0.5255324099,0.1834346425,-0.1834346425];
end% Gauss quarature point on [a,b]
w = 0.5*(b-a)*w;
p = 0.5*(b-a)*p+0.5*(b+a);function q = Gauss_quadrature(fun,a,b,n)
% Gauss quadrature
[w,p] = Gauss_point_1D(n,a,b);
q = sum(w.*fun(p));

Gauss型求积公式及其Matlab程序相关推荐

  1. 数值分析(10):数值积分之Gauss型求积公式

    Gauss型求积公式 1. 引言 2. Gauss型求积公式 2.1 Gauss型求积公式的定义 2.2 Gauss点的性质 2.3 构造Gauss型求积公式 2.4 Gauss型求积公式的余项 2. ...

  2. Gauss型求积公式

    一.简介 高斯求积公式是变步长数值积分的一种,基本形式是计算[-1,1]上的定积分.理论证明对于 n个节点的上述求积公式,最高有 2n - 1 次的代数精度,高斯公式就是使得上述公式具有 2n - 1 ...

  3. 复合型自适应步长的Gauss型求积(附代码)

    复合型自适应步长的Gauss型求积 先前在做数值分析实验时,把高斯型求积公式和复合型.自适应步长的求积融合到了一起,但是后来发现题目没有这个要求..现在就把这个思路分享一下. 上题目: 实验目的:学会 ...

  4. Matlab代码 多时间尺度优化调度 MATLAB程序含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度

    Matlab代码 多时间尺度优化调度 MATLAB程序,论文复现<含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度> 是一篇多时间尺度的优化运行程序 有需要的可以先知网阅读一下文章 ID: ...

  5. MATLAB程序:综合能源系统优化调度,考虑了阶梯型碳交易机制和氢能,具有一定的创新。

    MATLAB程序:综合能源系统优化调度,考虑了阶梯型碳交易机制和氢能,具有一定的创新. 采用CPLEX+Yalmip求解,基本复现. ID:6990667995938854

  6. Gauss型(Gaussian quadrature)求积公式和方法

    目录 0.Gauss型积分通用形式 1.Gauss–Legendre quadrature勒让德 2.Gauss–Laguerre quadrature拉盖尔--积分区间[0,inf] 3.Cheby ...

  7. matlab程序eX2_2是什么意思,第2章 MATLAB程序设计

    第2章MATLAB程序设计基础 Matlab以矩阵为运算单元,除非特殊需要,矩阵不必事先定义维数大小.Matlab还提供了丰富的矩阵运算函数,如求逆矩阵的inv函数,求方阵行列式的det函数,求矩阵特 ...

  8. 不用工具箱的神经网络matlab程序_MATLAB中的神经网络工具箱(2)函数命令及模型搭建...

    前面介绍了神经网络工具箱GUI的使用,它功能强大可以直接生成脚本.但是函数命令的灵活性是GUI所不及的.也应该有所了解. 神经网络函数命令 1.网络创建函数 函数名称 功能 fitnet 创建函数拟合 ...

  9. 数值分析龙贝格matlab,龙贝格matlab程序

    k>=15 [龙贝格求积算法 Matlab 主程序] function[t]=rbg(f,a,b,c) t=zeros(15,4); %定义龙贝格积分函数,f 为待积函数,a 与 b 为积 分上 ...

  10. matlab多元回归程序,多元回归程序MATLAB程序

    <多元回归程序MATLAB程序>由会员分享,可在线阅读,更多相关<多元回归程序MATLAB程序(45页珍藏版)>请在人人文库网上搜索. 1.程序MATLAB多元回归程序matl ...

最新文章

  1. 永远不要辞职,除非……
  2. python修改文件内容最后一行_关于python:如何修改文件的最后一行?
  3. textContent、innerHTML、innerText、outerText、outerHTML、nodeValue使用场景和区别
  4. c/c++,字符,字符串,各种方式读入与对空格,回车的处理
  5. 【VBA编程】06.控制语句
  6. android商品mysql_android使用mysql的方法总结
  7. [二叉树遍历|BST]leetcode 538 把二叉搜索树转换为累加树
  8. Linux进程管理工具 Supervisor详解
  9. 五分钟读完《人性的弱点》
  10. 提高电火炉使用安全,微波雷达模组感应控制,雷达感应技术方案
  11. Mysql添加报错 MySqlException: Incorrect string value: ‘\xE5\xAF\xBC\xE5\x85\xA5...‘ for
  12. Photoshop_如何使用
  13. 批量修改UWP版bilibili下载的视频文件名
  14. 32位通用寄存器ESP、EIP、EAX、EBX、ECX、EDX,在OD里操作这些寄存器
  15. 台式计算机没办法连接wifi吗,台式机没有无线网络连接该怎么办
  16. (正则)校验 8-16位,必须含有特殊字符、而大写字母、小写字母、数字至少包含其中两项
  17. 给定一个字符类型的数组chas[]
  18. 手把手教你写《雷神》游戏(三)
  19. 2018上海市六一计算机创新活动,《梦幻西游》电脑版2018六一儿童节活动
  20. 关键字搜索软件_高效搜索神器,你选listary还是火柴?

热门文章

  1. git fork 什么意思
  2. c语言数组输入空格回车问题
  3. 技术岗-网上测评智力题
  4. springboot整合mybatis拦截器分页
  5. excel+if函数+android,Excel中if函数多重条件的使用
  6. 如何快速翻译医学类英文专业文献?
  7. 【Git命令】git commit --amend
  8. Marquee首尾相连不间断移动 开始完全显示
  9. astc贴图格式是什么意思_Unity 分离贴图 alpha 通道实践
  10. R语言输出时,中文变成 \u98ce\u901f \u592a\u9633\u8f90\u5c04