欢迎来到天天文库
浏览记录
ID:56442130
大小:118.50 KB
页数:5页
时间:2020-06-24
《复合辛普森公式.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验5复合辛普森公式李涛201226100108计自1201一、实验目的l用复合辛普森公式计算积分,使误差不超过(注意所给积分特点,做出相应的处理后再计算)二、实验步骤1.算法原理复合辛普森原理:将区间划分为n等分,在每个子区间上采用辛普森公式,若记则得ll记ll称为复合辛普森求积公式,其余项为l于是当时,与复合梯形公式相似有l易知误差阶为,收敛性是显然的,实际上,只要则可得到收敛性,即l此外,由于中求积公系数均为正数,故知辛普森公式计算稳定。2.算法步骤复合辛普森:首先将区间划分为n等分,在每个子区间上采用辛普森公式,若记则得算法过程:这里将辛普森公式写为Sn()函
2、数,然后在Solve()函数里依次计算S1,S2,S4,S6.......当相邻的精度小于eps时退出循环,则S2n保存结果。三.程序代码#include#include#defineeps1e-6usingnamespacestd;doublef(doublex){returnsqrt(1+cos(x)*cos(x));}//被积函数doubleSn(doublea,doubleb,doublen){doubleh=(a+b)/(2*n);doublesum=0;for(intk=1;k<=n;k++){sum+=2*f(a+(2*
3、k-1)*h);sum+=f(a+2*k*h);}sum=(sum*2+f(a)-f(b))*h/3;returnsum;}//辛普森公式doubleSolve(doublea,doubleb){inti=1;doubleS1n=Sn(a,b,i);doubleS2n=Sn(a,b,2*i);while(fabs(S1n-S2n)>eps){cout<<"n="<
4、n';}四、结果展示并分析l当eps设为10^-4时计算结果为58.4708[错的]l当eps设为10^-5时计算结果为58.4706[错的]l当eps设为10^-6时计算结果为58.4705[考虑假收敛后结果]此外根据第三次计算结果可以发现当n=42时已经满足10^-4的精度要求,所以第一次和第二次计算都不能达到精度要求。五、心得体会通过本次试验,我理解复合辛普森公式的方法原理,并且能利用复合辛普森公式计算积分,在数值分析的理论知识上又有了较大的收获,在进行编程的过程中,我已经基本熟练了数值算法的程序过程,能独立的在有限的时间内完成,这对以后的学习会有很大的帮助。
此文档下载收益归作者所有