数值积分技术方案.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
胡支军 贵州大学数学系 贵州赛区组委会 数学建模讲座(三) 数 值 积 分 为什么要作数值积分 许多函数“积不出来”,只能用数值方法,如 积分是重要的数学工具,是微分方程、概率 论等的基础;在实际问题中有直接应用。 对于用离散数据或者图形表示的函数, 计算积分只有求助于数值方法。 数值积分 数 值 积 分 的 基 本 思 路 回 忆 定 积 分 的 定 义 各种数值积分方法研究的是 如何取值,区间 如何划分, 使得既能保证一定精度,计算量又小。 n充分大时In就是I的数值积分 (计算功效:算得准,算得快) 1.从矩形公式到梯形公式 数值积分 y y=f(x) x b a o 平均,得到 梯形公式 xk+1 xk xk-1 fk 2.辛普森(Simpson)公式 (抛物线公式) 梯形公式相当于用分段线性插值函数代替 每段要用相邻两小区间 端点的三个函数值 抛物线 公式 提高精度 分段二次插值函数 数值积分 y y=f(x) x b a o x2k f2k x2k+1 x2k+2 f2k+1 f2k+2 区间数必须为偶数 对k求和(共m段),得(复合)辛普森公式: 二次插值函数sk(x) 2.辛普森(Simpson)公式(抛物线公式) 梯形公式在每小段上是用线性插值函数T(x)代替 f(x) 梯形公式 的误差估计 因为:(x-xk)(x-xk+1)在(xk,xk+1)不变号,所以: 梯形公式Tn的 误差是h2阶的 估计 梯形公式的误差 同理可得: 其中 辛普森公式Sn的误差是h4阶的。 辛普森公式的误差估计 梯形公式和辛普森公式的收敛性 若对I某个数值积分In有 (非零常数) 则称 In是 p 阶收敛的。 梯形公式 2 阶收敛,辛普森公式 4 阶收敛。 c=0: 至少p阶收敛(超p阶收敛) 积分步长的自动选取 选定数值积分公式后,如何确定步长h以满足给定的误差? 梯形公式 用二分法只要 其中fk+1/2是原分点xk,xk+1的中点(记xk+1/2)的函数值 且T2n可在Tn 基础上计算 高斯(Gauss)求积公式 矩形公式(1)、(2) 梯形公式(3) 辛普森公式(4) Ak是与f无关的常数 代数 精度 设 用(7)计算 若对于 都有 而当 则称In的代数精度为m. Newton-Cotes方法 梯形公式的代数精度(考察T1) k=1 f(x)=x k=2 f(x)=x2 梯形公式的代数精度为1 辛普森公式的代数精度为3 高斯公式的思路 取消对节点的限制,按照代数精度最大 的原则,同时确定节点xk和系数Ak 构造求积公式 对于 使G2的代数精度为3 确定 将f(x)代入计算得 用n个节点,Gn的代数精度可达2n-1, 但是需解 复杂的非线性方程组,实用价值不大。 常 用 的 高 斯 公 式 将(a,b)分小,把小区间变换为(-1,1), 再用G2 代数精度为3 节点加密时,原计算信息无法利用 思路:将积分区间分小,在小区间上用n不太 大的 。而在节点加密一倍时能够利用原节点的函数值,可以把区间的端点作为固定节点。 改进的高斯公式 Gauss-Lobatto求积公式 其中a, b为小区间的端点, 为2n-2个参数, 代数精度可达到2n-3 注意:实际计算中一般采用自适应方法确定步长 用MATLAB 作数值积分 矩形 公式 Sum(x) 输入数组x(即fk),输出x的和(数) cumsum(x) 输入数组x,输出x的依次累加和(数组) 梯形 公式 trapz(x) 输入数组x,输出按梯形公式x的积分(单位步长) trapz(x,y) 输入同长度数组 x,y,输出按梯形公式 y对x的积分(步长不一定相等) 用MATLAB 作数值积分 辛普森公式 quad(@fun,a,b,tol,trace) [I,fn]=quad(…) 用自适应辛普森公式计算 tol为绝对误差,缺省时为10-6 Gauss-Lobatto公式 quadl(@fun,a,b,tol,trace) [I,fn]=quadl(…) 用自适应Gauss-Lobatto公式计算 tol为绝对误差,缺省时为10-6 注意:fun.m中应以自变量为矩阵的形式输入(点运算) 矩形域上计算二重积分的命令: dblquad(@fun,xmin,xmax,ymin,ymax,tol) 广义积分、二重和三重积分 长方体上计算三重积分的命令: triplequad(@fun,xmin,xmax,ymin,ymax, zmin,zmax,tol) 注:fun是被积函数,本身可以有自己的参数 广义积分: 通过分析和控制误差,转换成普通积分 quadv(@fun,a,b,tol,trace) 向量值积分: 用MATLAB 作数值积分 例. 计算 1)矩形公式和梯

文档评论(0)

123****6648 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档