文档详情

用复合梯形求积公式求积实验报告.doc

发布:2018-12-09约1.11千字共4页下载文档
文本预览下载声明
用复合梯形求积公式求积 实验报告 学院:计算机学院 班级:信计0902班 姓名:高天宇 学号:0908060220 1、实验目的 1)观察复化梯形公式和复化辛普森公式随区间数n增加各自误差的减少规律;研究广义积分的数值计算如何将其转化为普通积分,再由已有数值积分方法进行计算; 2)利用复化梯形公式和复化辛普森公式计算定积分,编程实现。 、实验内容 分别用复化梯形公式和复化辛普森公式计算定积分,研究随着n增加各自误差的减少规律,取n=2,4,8,16,精确值为I=4.006994。、实验原理 原理:将区间[a,b]等分成N个子区间[x(k),x(k+1)](k=0,1,…..,N-1), h=(b-a)/N,在每个子区间[x(k),x(k+1)]上使用体形公式,可求得结果。 、设计思想 用上述的的公式来计算,然后再将积分区间[,]进行n等分,得到n个小区间[xi,xi+1](i=0,1,2,…,n-1),每个小区间的长度为h=(b-a)/n,其中xi=a+i*h。按进行计算。、对应程序 #includeiostream.h #includemath.h double fun1(double a,double h,int n) { int i; double sum=0,m; for(i=1;i=n-1;i++) { m=a+i*h; if(m==0)continue; sum=sum+sqrt(m)*log(m); } return sum; } double get(double a) { if(a==0)a=0.00001; return sqrt(a)*log(a); } void main() { double a=0,b=1; int n; while(1) { cout请输入要等分的子区间个数(n0):; cinn; double h; double T,f0,f1,f2; h=(b-a)/n; f0=get(a); f1=fun1(a,h,n); f2=get(b); T=h/2*(f0+2*f1+f2); cout步长h为:hendl; cout复化梯形公式计算结果T=Tendl; } } 7、实验结果 、实验体会 通过本次实验我熟悉用复化梯形公式求数值积分的全过程,并更加熟悉的掌握了复化梯形公式原理。使我对计算方法这门课有了进一步的理解,为以后的学习打下了良好的基础。
显示全部
相似文档