我从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;
}
答案 0 :(得分:6)
它代表间隔的中间。当i为1时,间隔为0到1,其中0.5为中间。等