一.介绍龙贝格求积公式也称为逐次分半加速法。它是在梯形公式、辛普森公式和柯特斯公式之间的关系的基础上,构造出一种加速计算积分的方法。作为一种外推算法,它在不增加计算量的前提下提高了误差的精度.在等距基点的情况下,用计算机计算积分值通常都采用把区间逐次分半的方法进行。这样,前一次分割得到的函数值在分半以后仍可被利用,且易于编程。龙贝格方法是在积分区间逐次二分的过程中,通过对梯形之值进行加速处理,从而获得高精度的积分值。准备初值fa和fb,用梯形计算公式计算出积分近似值12baTfafb按区间逐次分半计算梯形公式的积分近似值,令2ibah,0,1,2,...i计算12102122nnniihTTfx,2in按下面的公式积分(为便于编程,写下列形式)梯形公式:223nnnnTTST辛普生公式:2215nnnnSSCS龙贝格公式:2263nnnnCCRC步骤4精度控制当2nnRR,(为精度)时,终止计算,并取2nR为近似值二.程序框图开始计算步长h计算初值f(a)、f(b)、R(1,1)R矩阵迭代计算误差达到精度要求Yes输出R(j+1,j+1)No结束三.源码1.f=inline('1/(x+1)');%输入函数a=0;b=1;%取值边界eps=10^(-7);h=b-a;R(1,1)=h*(f(a)+f(b))/2;j=0;err=1;m=1;whileerrepsj=j+1;h=h/2;S=0;fori=1:mx=a+h*(2*i-1);S=S+f(x);endm=2*m;R(j+1,1)=R(j,1)/2+h*S;fori=1:jR(j+1,i+1)=R(j+1,i)+(R(j+1,i)-R(j,i))/(4^i-1);enderr=abs(R(j+1,j)-R(j+1,j+1));endans=vpa(R(j+1,j+1),7)2.f=inline('log(x+1)/(x^2+1)');%输入函数a=0;b=1;%取值边界eps=10^(-7);h=b-a;R(1,1)=h*(f(a)+f(b))/2;j=0;err=1;m=1;whileerrepsj=j+1;h=h/2;S=0;fori=1:mx=a+h*(2*i-1);S=S+f(x);endm=2*m;R(j+1,1)=R(j,1)/2+h*S;fori=1:jR(j+1,i+1)=R(j+1,i)+(R(j+1,i)-R(j,i))/(4^i-1);enderr=abs(R(j+1,j)-R(j+1,j+1));endans=vpa(R(j+1,j+1),7)3.f=inline('log(x+1)/x');%输入函数a=0;b=1;%取值边界eps=10^(-7);h=b-a;R(1,1)=h*(1+log(2))/2;j=0;err=1;m=1;whileerrepsj=j+1;h=h/2;S=0;fori=1:mx=a+h*(2*i-1);S=S+f(x);endm=2*m;R(j+1,1)=R(j,1)/2+h*S;fori=1:jR(j+1,i+1)=R(j+1,i)+(R(j+1,i)-R(j,i))/(4^i-1);enderr=abs(R(j+1,j)-R(j+1,j+1));endans=vpa(R(j+1,j+1),7)4.f=inline('sin(x)/x');%输入函数a=0;b=pi/2;%取值边界eps=10^(-7);h=b-a;R(1,1)=h*(1+2/pi)/2;j=0;err=1;m=1;whileerrepsj=j+1;h=h/2;S=0;fori=1:mx=a+h*(2*i-1);S=S+f(x);endm=2*m;R(j+1,1)=R(j,1)/2+h*S;fori=1:jR(j+1,i+1)=R(j+1,i)+(R(j+1,i)-R(j,i))/(4^i-1);enderr=abs(R(j+1,j)-R(j+1,j+1));endans=vpa(R(j+1,j+1),8)四.结果