数值分析实验(4).docx_第1页
数值分析实验(4).docx_第2页
数值分析实验(4).docx_第3页
数值分析实验(4).docx_第4页
数值分析实验(4).docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四 数值积分与数值微分 专业班级:信计131班 姓名:段雨博 学号:2013014907一、实验目的1、熟悉matlab编程。2、学习数值积分程序设计算法。3、通过上机进一步领悟用复合梯形、复合辛普森公式,以及用龙贝格求积方法计算积分的原理。二、实验题目P1371、用不同数值方法计算积分。(1)取不同的步长.分别用复合梯形及复合辛普森求积计算积分,给出误差中关于的函数,并与积分精确值比较两个公式的精度,是否存在一个最小的,使得精度不能再被改善?(2)用龙贝格求积计算完成问题(1)。 三、实验原理与理论基础1.1复合梯形公式及其复合辛普森求解误差关于h的函数:复合辛普森公式:误差关于h的函数:1.2龙贝格求积算法:龙贝格求积公式是梯形法的递推化,也称为逐次分半加速法,它是在梯形公式、辛普森公式和柯特斯公式之间的关系的基础上,构造出一种计算积分的方法,同时它有在不断增加计算量的前提下提高误差的精度的特点。计算过程如下:(1)取,求: (2)求梯形值即按递推公式计算.(3)求加速值,按公式逐个求出T表的地k行其余各元素(4)若(预先给定的精度),则终止计算,并取转(2)继续计算。 T表0b-a1234上表指出了计算过程,第二列给出了子区间长度,i表示第i步外推。可以证明,如果充分光滑,那么T表每一列的元素及对角线元素均收敛到所求的积分。四、实验内容程序设计如下:1、复合梯形法M文件:function t=natrapz(fname,a,b,n)h=(b-a)/n;fa=feval(fname,a);fb=feval(fname,b);f=feval(fname,a+h:h:b-h+0.001*h);t=h*(0.5*(fa+fb)+sum(f);2、复合辛普森法M文件:function t=natrapz(fname,a,b,n)h=(b-a)/n;fa=feval(fname,a);fb=feval(fname,b);f1=feval(fname,a+h:h:b-h+0.001*h);f2=feval(fname,a+h/2:h:b-h+0.001*h);t=h/6*(fa+fb+2*sum(f1)+4*sum(f2);3、龙贝格算法M文件:function I,step=Roberg(f,a,b,eps)if(nargin=3) eps=1.0e-4;end;M=1;tol=10;k=0;T=zeros(1,1);h=b-a;T(1,1)=(h/2)*(subs(sym(f),findsym(sym(f),a)+subs(sym(f),findsym(sym(f),b);while toleps k=k+1; h=h/2; Q=0; for i=1:M x=a+h*(2*i-1); Q=Q+subs(sym(f),findsym(sym(f),x); end T(k+1,1)=T(k,1)/2+h*Q; M=2*M; for j=1:k T(k+1,j+1)=T(k+1,j)+(T(k+1,j)-T(k,j)/(4j-1); end tol=abs(T(k+1,j+1)-T(k,j);endI=T(k+1,k+1);step=k;1、复合梯形法运行: format long;natrapz(inline(sqrt(x).*log(x),eps,1,10),format short;ans = -0.417062831779470 format long;natrapz(inline(sqrt(x).*log(x),eps,1,100),format short;ans = -0.443117908008157 format long;natrapz(inline(sqrt(x).*log(x),eps,1,1000),format short;ans = -0.4443875389971622、复合辛普森法运行: format long;natrapzz(inline(sqrt(x).*log(x),eps,1,10),format short;ans = -0.435297890074689 format long;natrapzz(inline(sqrt(x).*log(x),eps,1,100),format short;ans = -0.444161178415673 format long;natrapzz(inline(sqrt(x).*log(x),eps,1,1000),format short;ans = -0.4444341176141803、龙贝格算法运行: q,s=Roberg(sqrt(x)*log(x),0.0000001,1)q = -0.4444s = 9五、实验结果1、复合梯形法结果: format long;natrapz(inline(sqrt(x).*log(x),eps,1,10),format short;ans = -0.417062831779470 format long;natrapz(inline(sqrt(x).*log(x),eps,1,100),format short;ans = -0.443117908008157 format long;natrapz(inline(sqrt(x).*log(x),eps,1,1000),format short;ans = -0.4443875389971622、复合辛普森法结果: format long;natrapzz(inline(sqrt(x).*log(x),eps,1,10),format short;ans = -0.435297890074689 format long;natrapzz(inline(sqrt(x).*log(x),eps,1,100),format short;ans = -0.444161178415673 format long;natrapzz(inline(sqrt(x).*log(x),eps,1,1000),format short;ans = -0.4444341176141803、龙贝格算法结果: q,s=Roberg(sqrt(x)*log(x),0.0000001,1)q = -0.4444s = 9实验结论:对比以上的计算结果可得:复合辛普森法求积分精度明显比复合梯形法求积的精度要高,且当步长取不同值时,即越大,越小时,积分精度越高。实验结果说明不存在一个最小的,使得精度不能再被改变。由两个相应的关于的误差余项,其中,可知愈小,余项愈小,积分精度越高。六、实验结果分析与小结1、通过这次实习,加深了对复合梯形法、复合辛普森法和龙贝格法的理解,之前学习这三个算法时觉得特别麻烦,公式那么长,而且不是很理解。这次实习对三种算法的编程,对三种算法进行详细地分析,现在理解了算法的过程。在编写函数程序的过程中也在不断地提高和改进,有些虽然不是很熟,也不太清楚到底怎么做,但是查阅了之后就懂了。2、在编写程序,进行算法设计还是会出现很大问题,有程序运行不出来修改也是很麻烦,而且由于之前

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论