复合simpson公式怎么写( 二 )


(3) 对所求的被积分表达式分别编写函数f1和f2:f1(x)=1+x2 f2(x)=1+x+x2+x3(4) 在主函数中输入a,b(0,1)的值,先调用梯形法求积分的integralt()函数,分别计算f1和f2的定积分,并输出计算结果 。再输入a,b (0,1)的值,调用辛普生法求积分的integrals()函数,分别计算f1和f2的定积分,并输出计算结果 。
再次输入a,b(0,2)的值,再分别调用梯形法和辛普生法分别计算f1和f2的定积分,并输出计算结果 。(5) 要求在n相同的情况下,对同一个被积函数同区间采用梯形法和辛普生法的积分结果的精度进行分析,主要观察随着n值的增加,积分结果的有效数字位数有何变化,两种方法与精确值的误差 。
要求n值,分别取2,10,100,1000,5000,20000,50000进行观察 。四、主要技术问题的描述:1、函数指针 一个函数在编译时被分配一个入口地址,可以将该地址赋给一个指针变量,这样,这个指针变量持有函数的入口地址,它就指向了该函数,称这种指针为指向函数的指针,简称函数指针 。
2、函数指针定义的一般形式:数据类型 (*指针变量)(形式参数);例:int (*pf)(int a,int b);3、调用的形式举例:double integral (double a,double b,int n,double(*f)(double )) { … ff1=(*f)(a); … ff2=(*f)(x); … } double f1(double x) { double y1; y1=1+x*x; return y1; } void main () {。
cin>>a>>b>>n; intesum1=integral(a,b,n,f1); } 。
4.用Simpson公式计算积分Nweton—Cotes公式的求积余项表明,求积节点n越大,对应的求积公式精度越高,但由于Nweton—Cotes公式在n>8时数值不稳定,因此不能用增加求积节点数的方法来提高计算精度 。实用中常将求积区间[a,b]分成若干个小区间,然后在每个小区间上采用数值稳定的Nweton—Cotes公式求小区间上的定积分,最后把所有小区间上的计算结果相加来作为原定积分的近似值 。采用这种方法构造的求积公式就称为复合求积公式 。复合求积公式具有计算简单且可以任意逼近所求定积分值的特点,这是Nweton—Cotes公式一般做不到的 。常用的复合求积公式有复合梯形公式和复合Simpson公式 。
① 复合梯形公式
取等距节点 xk=a+kh ,h=(b-a)/n ,k=0,1, 。.,n 将积分区间[a,b]n等分,在每个小区间[xk,xk+1] k=0,1, 。n-1上用梯形公式做近似计算,就有
得求积公式
(15)是称为复合梯形公式 。
通常记(15)的右端为
它称为 T 形值 。因为
故复合梯形公式的求积余项为
如果|f"(x)|≤M2,由于a,b是有限数,故若给定计算精度ξ,由(16),令
即只要取h满足(17),及n=(b-a)/h,利用复合求积公式(15)计算,就能得到计算误差小于ξ的定积分近似值 。
②复合Simpson公式
取[a,b]上的等距节点 xk=a+kh ,h=(b-a)/n ,k=0,1, 。n,将[a,b]n等分,在每个小区间[xk,xk+1]上用Simpson公式做近似计算,就有
式中xk+1/2 = xk+h/2,于是求得下面复合Simpson公式:
利用Simpson公式的求积余项,可以得到复合Simpson公式的求积余项为:
从复合Simpson公式的求积余项可以看出复合Simpson公式比复合梯形公式好,不过前者计算量大些 。复合Simpson公式也称为复合抛物线公式 。
采用如上构造复合求积公式的方法可以构造出其他类型的复合求积公式,如复合Cotes公式等 。实际上复合求积公式本质上是用在求积节点上的分段插值函数代替被积函数f(x)获得求积公式,所以它们归为插值型求积公式,如复合梯形公式是用分段型插值函数取代f(x)参与积分,复合Simpson公式是用分段二次插值函数取代f(x)参与积分等 。
5.用Simpson公式计算积分Nweton—Cotes公式的求积余项表明,求积节点n越大,对应的求积公式精度越高,但由于Nweton—Cotes公式在n>8时数值不稳定,因此不能用增加求积节点数的方法来提高计算精度 。