The rectangle method

Another very simple approach is the so-called midpoint or rectangle method. In this case the integration area is split in a given number of rectangles with length \( h \) and height given by the mid-point value of the function. This gives the following simple rule for approximating an integral $$ \begin{equation} I=\int_a^bf(x) dx \approx h\sum_{i=1}^N f(x_{i-1/2}), \tag{5} \end{equation} $$ where \( f(x_{i-1/2}) \) is the midpoint value of \( f \) for a given rectangle. We will discuss its truncation error below. It is easy to implement this algorithm, as shown here

double RectangleRule(double a, double b, int n, double (*func)(double))
{
      double RectangleSum;
      double fa, fb, x, step;
      int    j;
      step=(b-a)/((double) n);
      RectangleSum=0.;
      for (j = 0; j <= n; j++){
         x = (j+0.5)*step+;   // midpoint of a given rectangle
         RectangleSum+=(*func)(x);   //  add value of function.
      }
      RectangleSum *= step;  //  multiply with step length.
      return RectangleSum;
}  // end RectangleRule