欢迎来到天天文库
浏览记录
ID:59145601
大小:50.99 KB
页数:5页
时间:2020-09-11
《用梯形法或者辛普森法数值积分,分别用Matlab和c语言实现。.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Matlab作业(一)作业要求:用梯形法或者辛普森法数值积分,分别用Matlab和c语言实现。C语言1.程序代码:#include#includedoublefun(doublex){returnx*x;}doubledefinfresult1(double(*pfun)(double),doublea,doubleb,doubleeps){intn=1;doubleh,k,tn,tn1,fh,fh1=0;doublefa=pfun(a);doublefb=pfun(b);tn=(b-a)*(fa+fb
2、)/2;do{for(k=0,fh1=0;k=eps);returntn;}intmain(){doublea,b,eps,definfresult;printf("积分下限a=");scanf("%lf",&a);printf("积分上限b=");scanf("%lf",&b);printf("精度ep
3、s=");scanf("%lf",&eps);definfresult=definfresult1(fun,a,b,eps);printf("计算结果=%.7lf",definfresult);}2.运行结果:MatLab1.程序代码:functiony=fun1(x)y=x*x;functionresult=definf1(fhandle,a,b,eps)fa=feval(fhandle,a);fb=feval(fhandle,b);tn=(b-a)*(fa+fb)/2;tn1=0;n=1;fh1=0;whileabs(tn-
4、tn1)>epsfh1=0;fori=0:n-1h=(b-a)/n;fh=feval(fhandle,a+(2*i+1)*(b-a)/(2*n));fh=fh+fh1;fh1=fh;end;tn1=tn;tn=(tn1+fh*h)/2;n=2*n;endresult=tn;>>result=definf1(@fun1,0,10,0.001)result=333.33352.运行结果
此文档下载收益归作者所有