常州大学数值分析第五章习题解答.doc_第1页
常州大学数值分析第五章习题解答.doc_第2页
常州大学数值分析第五章习题解答.doc_第3页
常州大学数值分析第五章习题解答.doc_第4页
全文预览已结束

下载本文档

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

文档简介

化专012 闵建中 121029144.解:(1) : T=0.5*(3+1)=2 S=2 C=2 err1 = 0 err2=0(2) : T=1*(1-3)=-2 S=-10/3 C=-10/3 err 1= 4/3 err2=0(3) : T=0 S=0 C=0 err1=0 err2=0(4) : T=e/2 S=1/6*(e+2exp(0.5) C= 1 err1=-1.7183 err2= 0.00267.解: 复合梯形公式T2n的matlab实现:function I = trapezoid(fun,a,b,n)n = 2*n;h = (b-a)/(n-1);x = a : h :b;f = feval(fun , x);I = h * (0.5*f(1)+sum(f(2:n-1)+ 0.5*f(n);分别用复合梯形公式和复合辛普森公式计算积分,并与精确值比较,这里积分的精确值由matlab int函数求出,不手工计算。function trapezoid_and_sinpsomclc;format longsyms xIexact = int(x*exp(x2),x,0,1);a=0;b=1;for n=2:1:4t = trapezoid(f,a,b,n)s = simpson(f,a,b,n)err1 = vpa(Iexact - t,5)err2 = vpa(Iexact - s,5)endfunction y=f(x)y = x*exp(x2);return从而得出第一小题的结果:n = 2t = 1.000576811286697s = 0.860997139578795err1 = -0.14144 err2 = -0.0018562n = 3t = 0.923798756293777s = 0.859533825596209err1 = -0.064658err2 = -0.00039291n = 4t = 0.895892057505771s = 0.859268455239111err1 = -0.036751err2 = -0.00012754将f(x)简单修改就可以得到第2,3小题的结果8.解:function test_romberg()a=1;b=3;n=2;maxit=10;tol=0.5e-4;R=romberg(f,a,b,n,tol,maxit);R = R(1,4)Rexact = log(3)err = R-Rexactreturn function y=f(x)y=1/x;return10.解:高斯-勒让德法求解积分的matlab实现:function I = guasslegendre(fun,a,b,n,tol)% guasslegendre: guass-legendre method to calculation integral value%Input : fun is the integrand input as a sring fun% a and b are upper and lower limits of integration% n is the initial number of subintervals% tol is the tolerance%Output : I is Integral result % calculate quadrature nodesyms xp=sym2poly(diff(x2-1)(n+1),n+1)/(2n*factorial(n);tk=roots(p); % calculate quadrature coefficientAk=zeros(n+1,1);for i=1:n+1 xkt=tk; xkt(i)=; pn=poly(xkt); fp=(x)polyval(pn,x)/polyval(pn,tk(i); Ak(i)=quadl(fp,-1,1,tol);end% integral variable substitution, transformat a, b to 1, 1xk=(b-a)/2*tk+(b+a)/2;% calculate the value of the integral function after variable substitutionfx=fun(xk)*(b-a)/2;%calculation integral valueI=sum(Ak.*fx);对第一小题,精确值由matlab int函数求出,不手工计算;fun = inline(x.5+3.*x.2+2);a = 0;b = 1;tol = 1e-5;for n =1:2; n I = guasslegendre(fun,a,b,n,tol) Iexact = int(x5+3*x2+2,x,0,1) err = Iexact-Iend计算结果如下:n = 1I = 3.152777777777778Iexact = 19/6 = 3.166666666666667err = 1/72n = 2I = 3.166666666666666Iexact = 19/6 = 3.166666666666667 err = 0由此可见高斯-勒让德方法可以在较少的求积节点数下得到较为精确的数值积分解!第2,3小题同理可得。11.解:(1):fun = inline(x.*exp(x.2);a = 0;b = 0.5;n = 1;tol = 1e-4; I1 = guasslegendre(fun,a,b,n,tol);a = 0.5;b = 1;n = 1;tol = 1e-4; I2 = guasslegendre(fun,a,b,n,tol);I = I1+I2I

温馨提示

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

评论

0/150

提交评论