合肥工业大学计算方法复化梯形公式实验.doc

合肥工业大学计算方法复化梯形公式实验.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
合肥工业大学计算方法复化梯形公式实验

《计算方法》实验报告 学号 姓名 班级 实验项目名称 实验二 数值积分 一、实验名称 实验二 数值积分 实验目的: 熟悉复化梯形方法、复化Simpson方法、梯形递推算法、龙贝格算法; 能编程实现复化梯形方法、复化Simpson方法、梯形递推算法、龙贝格算法; 理解并掌握自适应算法和收敛加速算法的基本思想; 分析实验结果体会各种方法的精确度,建立计算机求解定积分问题的感性认识 实验内容及要求 (1)设计复化梯形公式求积算法,编制并调试相应的函数子程序 (2)设计复化辛浦生求积算法,编制并调试相应的函数子程序 (3)用龙贝格算法计算 输入:积分区间,误差限 输出:序列Tn,Sn,Cn,Rn及积分结果(参考书本P81的表2-5) 取n=2,4,8,16,精确解为0.9460831 实验原理及的值。根据微积分学基本定理,若被积函数f(x)在区间[a,b]上连续,只要能找到f(x)的一个原函数F(x),便可利用牛顿-莱布尼兹公式求得积分值。 但是在实际使用中,往往遇到如下困难,而不能使用牛顿-莱布尼兹公式。 找不到用初等函数表示的原函数 虽然找到了原函数,但因表达式过于复杂而不便计算 f(x)是由测量或计算得到的表格函数 由于以上种种困难,有必要研究积分的数值计算问题。 利用插值多项式 则积分转化为,显然易算。称为插值型求积公式。最简单的插值型求积公式是梯形公式和Simpson公式,。当求积结点提供较多,可以分段使用少结点的梯形公式和Simpson公式,并称为复化梯形公式、复化Simpson公式。如步长未知,可以通过误差限的控制用区间逐次分半的策略自动选取步长的方法称自适应算法。梯形递推公式给出了区间分半前后的递推关系。由梯形递推公式求得梯形序列,相邻序列值作线性组合得Simpson序列, Simpson序列作线性组合得柯特斯序列, 柯特斯序列作线性组合的龙贝格序列。若|R2-R1|(,则输出R2;否则…依此类推。如此加工数据的过程叫龙贝格算法,如下图所示: 复化梯形公式 复化Simpson公式 梯形递推公式 加权平均公式: 龙贝格算法大大加快了误差收敛的速度,由梯形序列O(h2) 提高到龙贝格序列的O(h8) 程序代码及实验结果int main() { //cout longbeige(0, 1, 0.0000001); cout 请输入 你的区间 和 误差限度: endl; double x, y, z; cin x y z; cout 根据龙贝格算法 求出的精确值为: longbeige(x, y, z) endl; cout K T S C R endl; cout 0 tixing(0, 1, 1) endl; cout 1 tixing(0, 1, 2) xingbusheng(0, 1, 1) endl; cout 2 tixing(0, 1, 4) xingbusheng(0, 1, 2) ((double (16/15))* xingbusheng(0, 1, 2)) -(double (1/15))*xingbusheng(0, 1, 1) endl; cout 3 tixing(0,1,8) xingbusheng(0,1,4) ((double(16 / 15))* xingbusheng(0, 1, 4)) - (double(1 / 15))*xingbusheng(0, 1, 2) longbeige(0, 1, 0.000000001) endl; cout 4 tixing(0, 1, 16) xingbusheng(0, 1, 8) ((double(16 / 15))* xingbusheng(0, 1, 4)) - (double(1 / 15))*xingbusheng(0, 1, 2) longbeige(0, 1, 0 endl;; cout the result 4 is longbeige(0, 1, 0; return 0; } 复化梯形公式子程序: double tixing(double a, double b, int n) { double fa = f(a); double fb = f(b); double h = (b-a) / n; double fxk = 0.0; for (int k = 1

您可能关注的文档

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档