您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 数值积分与数值微分实验报告
实验三数值积分程序设计算法1)实验目的通过本次实验熟悉并掌握各种数值积分算法及如何在matlab中通过设计程序实现这些算法,从而更好地解决实际中的问题。2)实验题目给出积分dxxI322111.用Simpson公式和N=8的复合Simpson公式求积分的近似值.2.用复合梯形公式、复合抛物线公式、龙贝格公式求定积分,要求绝对误差为710*21,将计算结果与精确解做比较,并对计算结果进行分析。3)实验原理与理论基础Simpson公式)]()2(4)([6bfbafafabS复化梯形公式将定积分badxxfI)(的积分区间],[ba分隔为n等分,各节点为njjhaxj,,1,0,nabh复合梯形(Trapz)公式为])()(2)([211njjnbfxfafnabT如果将],[ba分隔为2n等分,而nabh/)(不变,则)]()(2)(2)([41021112bfxfxfafnabTnjjnjjn其中hjahxxjj)21(2121,)]()(2)(2)([41021112bfxfxfafnabTnjjnjjn10)2)12((221njnnabjafnabTn=1时,abh,则)]()([21bfafabT)0(0T)21(22112hafabTT)1(0T若12kn,记)1(0kTTn,,2,1k12kabhjhaxj12kabjahxxjj2121kabja2)12(,则可得如下递推公式)0(0T)]()([2bfafab120001)2)12((2)1(21)(kjkkabjafabkTkTk=1,2,即为梯形递推公式。由复化递推公式的余项)(3122nnnTTTInnTTI31342nnjjnTxfnabTI31))(221(3410211021)(6)(431njjnxfnabTI])(4)(2)()((6102111njjnjjxfxfbfafnabnS即为复化Simpson公式。Romberg公式由复合Cotes公式的余项)(63122nnnCCCI得nnCCI63163642)1(631)(636422kTkT令)1(3kT)1(631)(636422kTkT由此综合可得)0(0T)]()([2bfafab120001)2)12((2)1(21)(kjkkabjafabkTkT)1(1kT)1(31)(3400kTkT)1(2kT)1(151)(151611kTkT)1(3kT)1(631)(636422kTkT,2,1k4)实验内容本次实验需要通过在matlab中编程实现复化梯形及Romberg等各种数值积分算法,从而更加熟练的掌握这几种算法,也通过在matlab中的实现来比较这几种算法之间的优劣性,从而在实际应用中更好地选择算法,以利于解决实际中的问题。5)实验结果Simpson算法functionz=simpson(a,b)c=(a+b)/2;z1=1/(a^2-1);z2=1/(b^2-1);z3=1/(c^2-1);z=(b-a)*(z1+4*z3+z2)/6;a=2;b=3;simpson(a,b)ans=0.2034复合Simpson算法functiony=comsimpson(a,b,n)z1=1/(a^2-1);z2=1/(b^2-1);h=(b-a)/n;s1=0;x1=a+h/2;s2=0;x2=a+h;fori=0:1:(n-1)x1=x1+h;s1=s1+1/(x1^2-1);endfori=1:1:(n-1)x2=x2+h;s2=s2+1/(x2^2-1);endy=h*(z1+4*s1+2*s2+z2)/6;a=2;b=3;n=8;comsimpson(a,b,n)ans=0.1804复合梯形公式functiony=comti(a,b,e)%复合梯形公式求解z1=1/(a^2-1);z2=1/(b^2-1);c=(a+b)/2;z3=1/(c^2-1);t=abs(z3-z2-z1);z4=z3;n=2;while(te)n=n+1;h=(b-a)/n;x=a;s1=z1+z2;fori=1:n-1x=a+i*h;s1=s1+1/(x^2-1);ends1=s1*h;t=abs(s1-z4);z4=s1;endy=s1;复合抛物线公式求解%复合抛物线公式求解functiony=compwx(a,b,e)s=1/(a^2-1)+1/(b^2-1);c=(b-a)/2+a;z=1/(c^2-1);s3=(s+4*z)*(b-a)/6;r=abs(s3-s*(b-a)/6);n=0;while(re)n=n+1;h=(b-a)/(2*n);x=a;s1=s;fori=1:2:(2*n-1)x=x+h;s1=s1+4*1/(x^2-1);x=x+h;s1=s1+2*1/(x^2-1);ends2=s1*h/3;r=abs(s2-s3);s3=s2;endy=s3;Romberg求积算法%龙贝格算法function[s,n]=Romberg(a,b,eps)ifnargin3,eps=1e-6;endz1=1/(a^2-1);z2=1/(b^2-1);s=10;s0=0;k=2;t(1,1)=(b-a)*(z1+z2)/2;while(abs(s-s0)eps)h=(b-a)/2^(k-1);w=0;if(h~=0)fori=1:(2^(k-1)-1)x=a+i*h;w=w+1/(x^2-1);endt(k,1)=h*(z1/2+w+z2/2);forl=2:kfori=1:(k-l+1)t(i,l)=(4^(l-1)*t(i+1,l-1)-t(i,l-1))/(4^(l-1)-1);endends=t(1,k);s0=(t(1,k-1));k=k+1;n=k;elses=s0;n=-k;endend实验结果Simpson复合Simpson复合抛物线复合梯形Romberg0.20340.18040.20340.20280.20276)实验结果分析与小结通过本次实验,在matlab中编写程序实现复合Simpson,复合梯形,复合抛物线及Romberg算法等,进一步熟悉了这几种数值积分算法,通过比较发现simpson算法不稳定,而梯形法简单但收敛慢,由梯形法递推而得到的Romberg算法具有更高的收敛速度。
本文标题:数值积分与数值微分实验报告
链接地址:https://www.777doc.com/doc-7255818 .html