3、表时,牛顿一莱布尼茨公式也不能直接运用,为此研究数值积分问题是非常必要的。2、明确数值积分的精度与步长的关系:复化的求积方法对提高精度是行之有效的,但是在使用求积之前必须给出合适的步长,并且高斯求积公式具有比攵化求积公式更高的精度,步长取得太大精度难以保证,步长太小则会导致计算量的增加。3、根据定积分的计算方法,可以考虑二重积分的计算问题:在微积分中,二重积分的计算是用化为累次积分的方法进行的。计算二重数值积分也同样采用累次积分的计算过程。利用二重积分的复化梯形公式设计如下:ndy)dydxa,b,c,d为
4、常数,f在D上连续。将它变为化累次积分dx=fjx,y)dx^dyh做等距节点,x轴,y轴分别有:加b-afd-c,k=,将x作为常数,有'■“-I『f(x,y)dy^k*/(兀,儿)+g/(匕儿)+£/(九儿)1"h1㈡1-£/(兀,儿皿---yu0,儿)+工/(兀,儿)+尸/(入,儿)乙1=1厶丿再将y作为常数,在x方向,计算上式的每一项的积分系数,在积分区域的四个角点为1/4,4个边界为1/2,内部节点为1。〃】一1/(曲)如殳护兀0,北)+工/(“())+亍心,%)[S/(兀儿皿=£ff(x,yj
5、)dx丿=1';=11中一!1、牙/(心,兀)+工/(兀,兀)+牙/(心,兀)乙;=1匕/+力工工/(兀,儿)7=1/=1/=i1「2“、兀〃n-(―工討(心兀)+討(J=1/ff/(兀,y^dydx=時(f(x(),y())+f(x0,几)+f(xm,y())+f(xm,y()))JaJc41+-2缨_!中一!¥_]、工/(兀,儿)+工/(兀,儿)+工/(兀0,儿)+工/(柿兀)/=1/=1;=1;=1丿兰_]中一!少_]中_[+工工/(兀,”)}=力吃工c.fg,兀)££Z/(x,y)cfycbc=£
6、『/(x,三、计算公式关于复化辛普森(Simpson)公式及高斯求积公式在以下给出。"一1+2工/(无)+/(®]k=1)复化辛普森(Simpson)公式“hhs“=工2[/(仏)+4/(叭1)+/(^.)]=-[/(6f)+4^/(x,)k=bk~bbi2为了便于编程可写成S严牛£{也与如+£[2/(j+/g)]}m乙km22)高斯求积公式£f(x)p(x)dx^^Akf(xk)3k=0U!、结构程序设计復化Simpson算法#include#includedoubl
7、eSIMP1(double,double,int);doubleFUTX(double,double,int);doubleFunc(double);voidmain(){doubleahbl.x;intnl;a1=0.0;bl=1.0;n1=20;//可设定具体的分段数n=10或者20printf(n%.l0f”,SIMPl(al,b1,nl));printf(n%.l0f",FUTX(al,bl,nl));//printf(,,time=%f,r,Atime/60);doubleFunc
8、(doublex){retum(log(l+x)/(1+x*x));}doubleSIMP1(doubleal,doublebl,intnl){inti;doubleh,s;h=(bl-al)/(2*nl);s=0.5*(Func(a1)-Func(b1));for(i=l;i<=n1;i++)s+=2*Func(al+(2*i-l)*h)+Func(al4-2*i*h);retum((b1-a1)*s/(3*n