河北工业大学数值分析直接交 联系客服

发布时间 : 星期日 文章河北工业大学数值分析直接交更新完毕开始阅读

#define XX 0.9460831 double abs(double x) { if(x>=0) return x; else return -x; }

double FX(double x) {

if(x==0) return 1.0; else

return sin(x)/x; }

double E(int a,int b,double x[]) { int n; double z=0; for(n=a;n<=b;n++) {z=z+FX(x[n]);} return z;

}

int main() {

double a,b,h,T,z=0,S,w; int n;

double t[999];

cout<<\请输入积分上下限\ cout<<\下限 \ cin>>a;

cout<<\上限 \ cin>>b;

cout<<\请输入划分的份数 \ cin>>n; h=(b-a)/n;

for(int q=0;q<=n;q++) {t[q]=a+q*h;}

T=(h/2)*(FX(a)+FX(b)+(2*E(1,n-1,t))); cout<<\复化梯形公式所得结果为 \cout<<\

/***************************************************************************************/ double X[999];

for(q=0;q

S=(h/6)*(FX(a)+FX(b)+(2*E(1,n-1,t))+(4*z)); cout<<\复化辛普森的结果为 \cout<<\if((abs(XX-T)/XX)>(abs(XX-S)/XX)) cout<<\复化梯形精度高\else

cout<<\复化辛普森精度高\return 0; }

实验结果:

实验分析:许多实际问题常常需要计算积分才能求解,梯形公式和

辛卜生公式是常用的求积公式复化求积法能改善求积精度,复化的梯形法和辛卜生法当步长h趋近于0时,均收敛到所求的积分值。若将步长h减半(即等分数n加倍),则梯形法、辛卜生法的误差分别减至原有误差的1/ 4、1/16和1/64,也就是说,h越小,计算结果越准确。