用“累计梯形面积”法求定积分??求高手!!!! (c语言)

如题所述

#include "math.h"

double f(double x) /*定义被积函数*/
{
return x*x+3*x+2;
}

double integrate(double a,double b) /*定义积分公式函数*/
{double t,h;
int i,n=100;
t=0.5*(f(a)+f(b));
h=fabs(a-b)/n;
for(i=1;i<n;i++)
t+=f(a+i*h);
t=t*h;
return t;
}

void main() /*定义主函数*/
{printf("\n%f\n",integrate(0,2));}

参考资料:百度文库

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-08
就是把积分范围,比如说求x1到x2之间的积分,那么把函数从x1到x2分成无数段,每段可近似认为一个梯形,而梯形面积则为0.5*(f(x)+f(x+δx)*δx。当δx趋于无限小时,所有梯形的面积合则为定积分值。

其实画个图就比较明白了。