计算方法-数值积分PPT课件

上传人:日度 文档编号:135060905 上传时间:2020-06-11 格式:PPT 页数:21 大小:4.82MB
返回 下载 相关 举报
计算方法-数值积分PPT课件_第1页
第1页 / 共21页
计算方法-数值积分PPT课件_第2页
第2页 / 共21页
计算方法-数值积分PPT课件_第3页
第3页 / 共21页
计算方法-数值积分PPT课件_第4页
第4页 / 共21页
计算方法-数值积分PPT课件_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《计算方法-数值积分PPT课件》由会员分享,可在线阅读,更多相关《计算方法-数值积分PPT课件(21页珍藏版)》请在金锄头文库上搜索。

1、数值积分 小组成员 1 引言 在数学分析中 当f x 在区间 a b 上连续且具有原函数F x 时 我们往往采用Newton Leibniz公式来求积分 然而 随着学习的深化 发现牛顿 莱布尼兹公式存在的很大的局限性 2 Newton Leibniz公式的局限性 对大多数f x 而言 找原函数困难 即使存在原函数也不能用初等函数表示原函数表达式过于复杂被积函数由表格给出 没有解析形式 也无法使用Newton Leibniz公式来求积分 3 数值积分 为了避免上述积分过程中存在的问题 我们可以采用数值积分的方法来求解 这样就避免了原函数的求解过程 同时对于由测量或计算得到的数据表表示的f x 也

2、可以求解主要有五种方法 对应五种计算公式 梯形法中值法辛普森积分法高斯积分法高斯积分法 三点公式 4 梯形公式 x0 x0 原理介绍 用一个梯形来近似代替每个子区间的面积 如下图所示 用图中阴影部分梯形面积替代曲边梯形的面积 积分过程如下图所示 5 梯形公式 而对于整个区间 x0 x1 可通过累加求和得到 其中区间 x0 x1 被分为n等份 每个区间长度为 因此区间 x0 x1 上的积分可通过下述式子得到 6 梯形公式算法 for inti 0 i 20 i area1 0 x PI intervals i for intj 0 j intervals i j area1 area1 0 5

3、f j x f j x x x doublee area1 2 area2 area2 area1 2 cout setiosflags ios left setw 6 intervals i setw 7 intervals i 1 setw 20 area1 2 setw 6 e endl 7 辛普森积分法 x0 x0 x0 原理介绍 把区间 x0 x1 分为2n等分 n个区间 在长度为的区间上进行泰勒展开 可得区间 x0 x0 上的积分形式如下所示 8 辛普森积分法 辛普森求积公式的几何意义是用一条过三点的抛物线 如上图中三点 近似代替被积函数的曲线 从而用一个二次抛物线所围成的容易计算

4、的曲边梯形面积 图中阴影部分 来近似代替原来的曲边梯形的面积 x0 x0 x0 9 辛普森积分法 通过对n个区间按上述公式累加 可得区间 x0 x1 上的积分形式为 注意 因为该公式是把区间 x0 x1 划分为2n等份 n个区间 因此在用循环求积分时 要注意其上下限 10 辛普森算法代码 for inti 0 i 20 i area1 0 x PI intervals i for intj 0 j intervals i j area1 area1 x f j x 4 f j x 0 5 x f j x x 6 doublee area1 2 area2 area2 area1 2 cout

5、setiosflags ios left setprecision 12 setw 6 intervals i setw 7 intervals i 2 1 setw 20 area1 2 setw 6 e endl 11 高斯积分 通过待定系数法及泰勒展开找到两个相对精确的评估点 12 高斯积分 for i 0 i 10 i s 0 x x1 x2 intervals i for j 0 j intervals i j s function x1 0 5 sqrt 3 0 6 x j x function x1 0 5 sqrt 3 0 6 x j x s s x 2 error1 s 2

6、Error Ratio error1 error2 error2 error1 cout setiosflags ios left setw 6 intervals i setw 7 intervals i 2 setw 15 error1 setw 10 Error Ratio endl 13 算法特色 代码简洁 用一个双重循环 两个主要变量实现了计算过程 在空间和时间上做到了最优化 for inti 0 i 20 i area1 0 x PI intervals i for intj 0 j intervals i j area1 area1 x f j x 4 f j x 0 5 x f

7、 j x x 6 doublee area1 2 area2 area2 area1 2 14 算法特色 采用C 中类的思想用虚基类继承的方式实现五种不同的积分方法 虚基类 classIntegration public virtualdoubleintegra 0 Integration x1 0 x2 3 1415926 Integration doublet1 doublet2 x1 t1 x2 t2 protected doublex1 x2 doublef doublex 每个类只能对一个函数积分 继承的子类classTrapezium Integration publicInteg

8、ration public Trapezium Integration doublet1 doublet2 x1 t1 x2 t2 doubleintegra 15 doubleTrapezium Integration integra inti j 0 intervals 1 doublexx value integ 20 x11 while intervals 524288 x11 x1 value integ j 0 xx x2 x1 intervals value integ j value integ j f x11 利用公式计算for i 1 i intervals i x11 x

9、11 xx value integ j value integ j f x11 2 x11 x11 xx value integ j value integ j f x2 value integ j value integ j xx 2 最终积分值j intervals intervals 2 doublee 20 for i 0 i 20 i e i value integ i 2 cout precision 15 for j 0 j 20 j cout value integ j e j e j 1 e j endl return0 16 算法特色 把所有积分方法放在一个 cpp文件中 以菜单形式进行选择 17 算法特色 结果输出清晰 且精度高 能保留到小数点后13位 中值法 18 算法特色 将各方法的误差一次性输出 能直观的看出各积分方法的误差大小并进行比较 19 总结 通过本章的学习 我们更深刻的理解了数值积分的原理及实现方法 并且在小组讨论中 学习到了如何实现代码的简洁 减少变量的定义以及如何实现代码时间与空间的优化等 大家都有所收益 20 ThankYou 21

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号