matlab计算方法实验报告5(数值积分)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算方法实验报告(5)学生姓名杨贤邦学号指导教师吴明芬实验时间2014.4.16地点综合实验大楼203实验题目数值积分方法实验目的利用复化梯形、辛普森公式和龙贝格数值积分公式计算定积分的近似植。实验内容梯形、辛普森、柯特斯法及其Matlab实现;变步长的梯形、辛普森、柯特斯法及其Matlab实现。题目由同学从学习材料中任意选两题算法分析梯形:functiony=jifeng_tixing(a,b,n,fun)fa=feval(fun,a);fb=feval(fun,b);s=0;h=(b-a)/n;fork=1:n-1xk=a+k*h;s=feval(fun,xk)+s;endy=(h/2)*(fa+fb+2*s);辛普生:functiony=jifeng_xingpu(a,b,n,fun)fa=feval(fun,a);fb=feval(fun,b);h=(b-a)/n;s=0;s2=feval(fun,a+0.5*h);fork=1:n-1xk=a+k*h;s=feval(fun,xk)+s;s2=feval(fun,xk+(h/2))+s2;end与源程序y=(h/6)*(fa+fb+2*s+4*s2);龙贝格:functionr2=jifeng_long(fun,a,b,e)h=b-a;t1=(h/2)*(feval(fun,a)+feval(fun,b));k=1;r1=10;r2=0;c2=0;whileabs(r2-r1)e;s=0;x=a+h/2;whilexbs=s+feval(fun,x);x=x+h;endt2=t1/2+h*s/2;s2=t2+(1/3)*(t2-t1);ifk==1k=k+1;h=h/2;t1=t2;s1=s2;elseifk==2c1=c2;c2=s2+(1/15)*(s2-s1);k=k+1;h=h/2;t1=t2;s1=s2;elseifk=3r1=r2;c2=s2+(1/15)*(s2-s1);r2=c2+(1/63)*(c2-c1);k=k+1;h=h/2;t1=t2;s1=s2;c1=c2;endend实验结果与分析函数xex在区间[1,2]对x进行积分求值,要求误差为0.5*10-7,并与精确值进行比较。(精确值:7.38905609893065)梯形:jifeng_tixing(1,2,7019,fun)ans=7.38905612723022辛普生:jifeng_xingpu(1,2,24,fun)ans=7.38905612621471龙贝格:jifeng_long(fun,1,2,10e-7)ans=7.38905609893079有上述结果易知,在同样0.5*10-7精度下,梯形复合公式需要7019等分,而辛普生只需要24等分即可达到要求的精度,而龙贝格算法的精度则更高其它按照书本龙贝格外推公式写龙贝格算法时,发现了一个问题,就是龙贝格外推算法假设无限外推下去,外推出来的结果并不是无限接近真实值的,而是当接近真实值的小数点后17位左右时,将不会再逼近真实值,而总体数值是在此处徘徊。不知道是我写的算法出现了问题,还是龙贝格外推的极限精度就是10-17。成绩考核算法分析与源程序(50%),实验结果及分析(30%),实验报告(20%)指导老师签名:

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功