1

我从这里复制了一个示例项目,但我不明白其中的一部分:(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;
} 
4

1 回答 1

6

它代表区间的中间。当 i 为 1 时,区间为 0 到 1,0.5 为中间。等等。

于 2011-12-01T16:07:16.353 回答