2011-12-01 58 views
1

我从here复制了一个示例项目,但我不明白它的一部分:(i - 0.5)。为什么计算(i - 0.5)矩形方法C++

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; 
} 

回答

6

它表示间隔的中间值。当i是1时,间隔是0到1,中间是0.5。等等