验证数值积分求积公式及复合梯形公式程序设计.docVIP

验证数值积分求积公式及复合梯形公式程序设计.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
验证数值积分求积公式及复合梯形公式程序设计

《复合梯形公式》实验报告 实验名称:??? 成绩:___________ 专业班级:? 姓名:???学号:实?验?日?期 :??年月2日 实验报告日期:?年?月日 二、实验内容Matlab提供了quad函数和quadl函数来求定积分.它们的调用格式为: Quad(filename,a,b,tol,trace) Quadl(filename,a,b,tol,trace) 其中filename是被积函数名。a和b分别是定积分的下限和上限。Tol用来控制积分精度,默认时取。Trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,默认时取trace=0。 例6.20 用两种不同的方法求. (2)被积函数由一个表格定义 在matlab中,对由表格形式定义的函数关系的求定积分问题用trapz(X,Y)函数。其中向量X、Y定义函数关系Y=f(X).X、Y是两个等长的向量;,,并且,积分区间是。 例6.21用trapz函数计算. (3)二重积分数值求解 Matlab提供的dblquad函数可以直接求出二重定积分的数值解。该函数的调用格式为:I=dblquad(f,a,b,c,d,tol,trace) 该函数求f(x,y)在[a,b]*[c,d]区域上的二重定积分。 例6.22 计算二重定积分 2.复合梯形公式 由于牛顿-柯特斯公式在时不具有稳定性,故不可能通过提高阶的方法来提高求积精度.为了提高精度通常可把积分区间分成若干子区间(通常是等分),再在每个子区间上用低阶求积公式,这种方法称为复合求积法. 将区间划分为n等份,分点,,在每个子区间上采用梯形公式,则得. 记,称为复合梯形公式,其余项可由得.由于,所以,使.于是复合梯形公式的余项为.. 即,所以复合梯形公式收敛. 以以原函数为例,进行matlab程序设计. 三、实验 四、function ex=ex(x) ex=exp(-x.^2); end 然后在matlab命令窗口,输入命令: format long I=quad(ex,0,1) (2)被积函数由一个表格定义 例6.21 在matlab命令窗口,输入命令: X=0:0.01:1; Y=exp(-X.^2); trapz(X,Y) (3)二重积分数值求解 例6.22 (1)建立一个函数文件fxy.m function f=fxy(x,y) global ki; ki=ki+1; %ki用于统计被积函数的调用次数 f=exp(-x.^2/2).*sin(x.^2+y); end (2)调用dblquad函数求解 global ki;ki=0; I=dblquad(fxy,-2,2,-1,1) (二)复合梯形公式算法流程图 (三)程序设计 以原函数为例,a,b分别为积分区间的上限和下限,n为将积分区间划分的份数. 1.编写原函数M文件f.m function y=f(x) y=sin(x)/x; 2.编写求复合梯形公式M文件FT.m function Tn=FT(a,b,n) a=input(请输入a的值:); b=input(请输入b的值:); n=input(请输入n的值:); h=(b-a)/n; for k=0:n x(k+1)=a+k*h; if x(k+1)==0 x(k+1)=10^(-10); end end T1=h/2*(f(x(1))+f(x(n+1))); for i=2:n F(i)=h*f(x(i)); end T2=sum(F); Tn=T1+T2; 3.运行程序 4.用quad求解与复合梯形公式求解结果做对比 I=quad(sin(x)./x,0,1) 五、实验结果 (一) 验证数值积分公式 (1) 被积函数是一个解析式 I =0.746824180726425 (2) 被积函数由一个表格定义 ans =0.7468 (3) 二重积分数值求解 I =1.5745 (二)复合梯形公式程序运行结果: FT 请输入a的值:0 请输入b的值:1 请输入n的值:8 ans =0.9457 FT 请输入a的值:0 请输入b的值:1 请输入n的值:3 ans =0.9433 调用quad命令运行结果 I =0.9461 六、实验讨论、结论 1.对于函数,将积分区间[0,1]划分为8等份,应用复合梯形公式matlab程序求得积分的近似值.调用quad命令求得I=0.9461,余项为0.0004.当将积分区间划分为3等份时,,余项为0.0028,由此可知,将区间划分的份数越多,结果越准确. 2.通过实验进一步学习了积分的数值计算方法,设法构造某个简单函数近似表示,然后得到近似值。公式不但具有最高代数精度,而且收敛性和稳定性都有保证,因此是高精度的求积公式。

文档评论(0)

zhanghc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档