数值积分计算课件.ppt
《数值积分计算课件.ppt》由会员分享,可在线阅读,更多相关《数值积分计算课件.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5数值积分计算吴鹏(rocwoods)MATLAB从零到进阶从零到进阶数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5主要内容主要内容矩形区域积分以及离散数据积分矩形区域积分以及离散数据积分 含参数的积分含参数的积分一般区域二重、三重积分一般区域二重、三重积分一般区域一般区域n重积分重积分 蒙特卡洛法计算蒙特卡洛法计算n重积分重积分 数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5第一节矩形区域积分以及离散数第一节矩形区域积分以及离散数
2、据积分据积分数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5一、一、矩形区域积分矩形区域积分积分上下限是常数,分单重、二重、三重三种情况积分上下限是常数,分单重、二重、三重三种情况1.单重单重quad(自适应自适应Simpson积分积分)quadl(自适应自适应Gauss-Lobatto积分,最常用积分,最常用)quadgk(自适应自适应Gauss-Kronrod积分,尤其适合震荡积分、含奇点的积分,尤其适合震荡积分、含奇点的积分;从积分;从R2007b开始支持开始支持)具体用法参见书中具体用法参见书中【例例10.1-1】2.二重情形二重情形一般二重积分可
3、以用下面两个函数解决:一般二重积分可以用下面两个函数解决:dblquadquad2d(R2009a开始支持,不仅可以求矩形区域二重积分,还可以开始支持,不仅可以求矩形区域二重积分,还可以求一般区域二重积分求一般区域二重积分)具体用法参见书中具体用法参见书中【例例10.1-2】数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5一一、矩形区域积分、矩形区域积分3.三重情形三重情形MATLAB中可以利用中可以利用triplequad函数求解长方体区域的三重函数求解长方体区域的三重积分。积分。具体用法参见书中具体用法参见书中【例例10.1-3】4.向量化积分向量化积
4、分所谓向量化积分,是指被积函数含有参数,需要对参数的一所谓向量化积分,是指被积函数含有参数,需要对参数的一系列值求出相应的积分。向量话积分可以用系列值求出相应的积分。向量话积分可以用quadv函数函数。具体用法参见书中具体用法参见书中【例例10.1-4】数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5二、二、离散数据积分离散数据积分离散数据积分的函数离散数据积分的函数MATLAB只有只有trapz函数,是针对一重情形的,函数,是针对一重情形的,如果是二重情形,需要自己编写,其中会用到如果是二重情形,需要自己编写,其中会用到trapz函数函数。用法示例参见书
5、中用法示例参见书中【例例10.1-5】以及以及【例例10.1-6】数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5第二节第二节含参数的积分含参数的积分数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5在解决实际问题的时候我们常要求解一些带参数的积分问题,在解决实际问题的时候我们常要求解一些带参数的积分问题,这涉及到参数的传递,总的说来有以下几种方法可以求解:这涉及到参数的传递,总的说来有以下几种方法可以求解:用用inline+num2str方法方法(MATLAB7.0以前版本使用,以前版本使用,7.0以后不以后不推荐使用
6、推荐使用)利用匿名函数实现利用匿名函数实现利用嵌套函数实现利用嵌套函数实现利用积分函数本身传递参数利用积分函数本身传递参数这几种方法的具体实现办法可以参见这几种方法的具体实现办法可以参见【例例10.2-1】。数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5第三节第三节一般区域二重、三重积分一般区域二重、三重积分数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5一、一、概要概要一般区域上的二重积分,低版本的一般区域上的二重积分,低版本的MATLAB向来支持不好,向来支持不好,7.X版本之前不能通过简单的形式直接求取一般区域
7、上的的二重积版本之前不能通过简单的形式直接求取一般区域上的的二重积分,往往要借助广泛流传的分,往往要借助广泛流传的NIT工具箱(数值积分工具箱)来实工具箱(数值积分工具箱)来实现。后来到了现。后来到了7.X版本,版本,MATLAB引入了匿名函数结构,引入了匿名函数结构,dblquad的的被积函数可以是匿名函数的形式,利用匿名函数结构,通过适当改被积函数可以是匿名函数的形式,利用匿名函数结构,通过适当改写被积函数。写被积函数。dblquad可以求解一般区域上的二重积分。但这种改可以求解一般区域上的二重积分。但这种改写就是将积分区域表示成逻辑表达式形式并与被积函数相乘,本质写就是将积分区域表示成逻
8、辑表达式形式并与被积函数相乘,本质上还是上还是计算的矩形区域的积分。计算的矩形区域的积分。仔细分析仔细分析dblquad的帮助文档中求一般区域二重积分的例子就的帮助文档中求一般区域二重积分的例子就会发现,这种办法是把原被积函数外推到了一个矩形区域上来实现会发现,这种办法是把原被积函数外推到了一个矩形区域上来实现的,该矩形区域包含了被积区域,在被积区域上,外推函数取值和的,该矩形区域包含了被积区域,在被积区域上,外推函数取值和原函数一样,而在矩形区域内被积区域外的那部分,外推函数取值原函数一样,而在矩形区域内被积区域外的那部分,外推函数取值都为都为0.这样外推函数在矩形区域上积分的结果就等于原被
9、积函数在这样外推函数在矩形区域上积分的结果就等于原被积函数在被积区域的结果。这种数学上简单的变换导致的结果就是,按这种被积区域的结果。这种数学上简单的变换导致的结果就是,按这种办法,计算量大增,特别是被积区域非常不规则并布满整个矩形区办法,计算量大增,特别是被积区域非常不规则并布满整个矩形区域的时候。域的时候。数值积分计算数值积分计算 吴鹏吴鹏,MATLAB从零到进阶从零到进阶.2023/1/5一、一、概要概要从从MATLABR2009a版本起,版本起,MATLAB终于有了专门求解一般区终于有了专门求解一般区域域二重积分的函数二重积分的函数quad2d,该函数采用的自适应积分算法基于,该函数采
10、用的自适应积分算法基于L.F.Shampine的文章:的文章:VectorizedAdaptiveQuadratureinMATLAB,JournalofComputationalandAppliedMathematics,211,2008。该函数。该函数求解一般区域二重积分的效率要远高于上面提到的求解一般区域二重积分的效率要远高于上面提到的dblquad的方法。的方法。虽然虽然quad2d可以求解一般区域二重积分,但还是不能直接求解一可以求解一般区域二重积分,但还是不能直接求解一般般区域三重积分,而区域三重积分,而NIT工具箱也没有一般区域三重积分的计算函数工具箱也没有一般区域三重积分的计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 积分 计算 课件
限制150内