资源描述:
《龙贝格公式和辛普森公式和复合梯形公式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验八数值积分信息与计算科学金融崔振威201002034031一、实验目的:1、掌握数据积分算法设计及程序实现二、实验内容:1、p290-1、p301-2三、实验要求:主程序:复合梯形公式:function[I,step,h2]=CombineTraprl(f,a,b,eps)%f被积函数%a,b积分上下限%eps精度%I积分结果%step积分的子区间数if(nargin==3)eps=1.0e-4;endn=1;h=(b-a)/2;I1=0;I2=(subs(sym(f),findsym(sym(f
2、)),a)+subs(sym(f),findsym(sym(f)),b))/h;whileabs(I2-I1)>epsn=n+1;h=(b-a)/n;I1=I2;I2=0;fori=0:n-1x=a+h*i;x1=x+h;I2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),findsym(sym(f)),x1));endendI=I2;step=n;h2=(b-a)/n;辛普森公式:function[I,step,h]=IntSimpson(
3、f,a,b,type,eps)%type=1辛普森公式%type=2辛普森3/8公式%type=3复合辛普森公式if(type==3&&nargin==4)eps=1.0e-4;%精度为0.0001endI=0;switchtypecase1,I=((b-a)/6)*(subs(sym(f),findsym(sym(f)),a)+...4*subs(sym(f),findsym(sym(f)),(a+b)/2)+...subs(sym(f),findsym(sym(f)),b));step=1;cas
4、e2,I=((b-a)/8)*(subs(sym(f),findsym(sym(f)),a)+...3*subs(sym(f),findsym(sym(f)),(2*a+b)/3)+...3*subs(sym(f),findsym(sym(f)),(a+2*b)/3)+subs(sym(f),findsym(sym(f)),b));step=1;case3,n=2;h=(b-a)/2;I1=0;I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym
5、(sym(f)),b))/h;whileabs(I2-I1)>epsn=n+1;h=(b-a)/n;I1=I2;I2=0;fori=0:n-1x=a+h*i;x1=x+h;I2=I2+(h/6)*(subs(sym(f),findsym(sym(f)),x)+...4*subs(sym(f),findsym(sym(f)),(x+x1)/2)+...subs(sym(f),findsym(sym(f)),x1));endendI=I2;step=n;end龙贝格公式function[q,step]=R
6、oberg(f,a,b,eps)%f是被积函数%a积分上限%b积分下限%eps是精度%q输出结果%step循环次数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));whiletol>epsk=k+1;h=h/2;Q=0;fori=1:Mx=a+h*(2*i-1);Q=Q+sub
7、s(sym(f),findsym(sym(f)),x);end;T(k+1,1)=T(k,1)/2+h*Q;M=M*2;forj=1:k;T(k+1,j+1)=T(k+1,j)+(T(k+1,j)-T(k,j))/(4^j-1);end;tol=abs(T(k+1,j+1)-T(k,j));endq=T(k+1,k+1);step=k;p290-11、(i)用组合梯形公式和M=10求下列每个积分(a)、解:在matlab窗口中输入>>[q,s,h]=CombineTraprl('(1+x^2)^(-1
8、)',-1,1)得出结果:q=1.56996299445358s=20h=0.10000000000000所以值约为1.569962994,步长为0.1,M为20(b)、解:在matlab窗口中输入>>[q,s,h]=CombineTraprl('(2+sin(2*x^(1/2)))^(-1)',0,1)得出结果:q=0.35117779429220s=19h=0.05263157894737所以值约为0.351177794,步长为0.052631579