## If we apply the Trapezoidal rule

*N*-1 times and add the results, we get:## Big advantage is it builds on previous work:

- Coarsest step: average
*f*at endpoints*a*and*b*. - Next refinement: add value at midpoint to average.
- Next: add values at ¼ and ¾ points.
- And so on. This is implemented as trapzd() in
*NRiC*.

- Coarsest step: average