我从here复制了一个示例项目,但我不理解其中的一部分:(i - 0.5)。为什么要计算(i - 0.5)?
double rectangle_integrate(double a, double b, int subintervals, double (*function)(double))
{
double result;
double interval;
int i;
interval=(b-a)/subintervals;
result=0;
for(i=1;i<=subintervals;i++){
result+=function(a+interval*(i-0.5));
}
result*=interval;
return result;
} 发布于 2011-12-02 00:07:16
它表示区间的中间位置。当i为1时,间隔是0到1,0.5是它的中间。等。
https://stackoverflow.com/questions/8344404
复制相似问题