合肥工业大学计算方法复化梯形公式实验_第1页
合肥工业大学计算方法复化梯形公式实验_第2页
合肥工业大学计算方法复化梯形公式实验_第3页
合肥工业大学计算方法复化梯形公式实验_第4页
合肥工业大学计算方法复化梯形公式实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机科学与工程学院计算方法实验报告学号 姓名班级实验项目名称实验二 数值积分一、实验名称实验二数值积分二、 实验目的:(1) 熟悉复化梯形方法、复化Simpson方法、梯形递推算法、龙贝格算法;(2) 能编程实现复化梯形方法、复化Simpson方法、梯形递推算法、龙贝格算法;(3) 理解并掌握自适应算法和收敛加速算法的基本思想;(4) 分析实验结果体会各种方法的精确度,建立计算机求解定积分问题的感性认识三、 实验内容及要求(1)设计复化梯形公式求积算法,编制并调试相应的函数子程序(2)设计复化辛浦生求积算法,编制并调试相应的函数子程序(3)用龙贝格算法计算输入:积分区间,误差限输出:序列Tn

2、,Sn,Cn,Rn及积分结果(参考书本P81的表2-5) 取n=2,4,8,16,精确解为0.9460831 四、 实验原理及算法描述在许多实际问题中,常常需要计算定积分的值。根据微积分学基本定理,若被积函数f(x)在区间a,b上连续,只要能找到f(x)的一个原函数F(x),便可利用牛顿-莱布尼兹公式求得积分值。但是在实际使用中,往往遇到如下困难,而不能使用牛顿-莱布尼兹公式。(1) 找不到用初等函数表示的原函数(2) 虽然找到了原函数,但因表达式过于复杂而不便计算(3) f(x)是由测量或计算得到的表格函数由于以上种种困难,有必要研究积分的数值计算问题。利用插值多项式 则积分转化为,显然易算

3、。称为插值型求积公式。最简单的插值型求积公式是梯形公式和Simpson公式,。当求积结点提供较多,可以分段使用少结点的梯形公式和Simpson公式,并称为复化梯形公式、复化Simpson公式。如步长未知,可以通过误差限的控制用区间逐次分半的策略自动选取步长的方法称自适应算法。梯形递推公式给出了区间分半前后的递推关系。由梯形递推公式求得梯形序列,相邻序列值作线性组合得Simpson序列, Simpson序列作线性组合得柯特斯序列, 柯特斯序列作线性组合的龙贝格序列。若|R2-R1|e,则输出R2;否则依此类推。如此加工数据的过程叫龙贝格算法,如下图所示:复化梯形公式复化Simpson公式梯形递推

4、公式加权平均公式: 龙贝格算法大大加快了误差收敛的速度,由梯形序列O(h2) 提高到龙贝格序列的O(h8)五、 程序代码及实验结果1 主程序int main()/cout longbeige(0, 1, 0.0000001);cout 请输入 你的区间 和 误差限度: 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,

5、 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

6、, 8) (double(16 / 15)* xingbusheng(0, 1, 4) - (double(1 / 15)*xingbusheng(0, 1, 2) longbeige(0, 1, 0.00000001) endl;cout the result 4 is longbeige(0, 1, 0.00000001);return 0;2 复化梯形公式子程序: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;fo

7、r (int k = 1; k = n - 1; k+)double xk = a + k*h;fxk = f(xk) + fxk;double res = (h / 2.0)*(fa + 2.0*fxk + fb);return res;3 复化辛浦生公式子程序:double xingbusheng(double a, double b, int n)double h = (b - a) /n;double fa = f(a);double fb = f(b);/double s = fb - fa;double x = a;double fxk12 = 0.0;double fxk = 0

8、.0;/*for (int k = 1; k =n; k+)x = x + h / (2.0);double fx = f(x);s = s + 4.0*f(x);x = x + h / (2.0);s = s + 2.0*f(x);s = (h / 6.0)*s;return s;*/for (int k = 0; k = n - 1; k+)double xk1 = a + k*h;x = xk1 + h / 2.0;fxk12 = fxk12 + f(x);for (int k = 1; k = n - 1; k+)double xk = a + k*h;fxk = fxk + f(xk

9、);double s = (h / 6)*(fa + 4 * fxk12 + 2 * fxk + fb);return s;4 龙贝格公式子程序:double longbeige(double a, double b, double wuchaxian)double h = b - a;double T1 = (h / 2.0)*(f(a) + f(b);int k = 1;double S,x,T2,S2,S1=0,C1=0,C2,R1=0,R2;double Tck100,Sck100,Cck100,Rck100;loop1: S = 0; x = a + h / 2.0;while (x= wuchaxian)R1 = R2;C1 = C2;k+;h = h / 2;T1 = T2;S1 = S2;goto loop1;elsereturn R2;实验结果: 图1 六、 实验总结1. 梯形公式的收敛速度太慢,所以我们才会选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论