Adaptive Quadrature in VBA
Adaptive algorithms are widely used for the numerical approximation of integrals. An adaptive quadrature is characterized by a procedure in which an interval of integration is recursively subdivided until a specific error tolerance is met. Gander and Gautschi (1998, 2000) published a paper describing two adaptive quadrature codes, adaptsim() and adaptlob(), which are proven to have good numerical characteristics in comparison to many other (including commercial) implementations. One is based on the Simpson’s quadrature rule and the other is a Lobatto formula with a Kronrod extension.
These two functions seem to be quite popular as they work really well; this article offers a translation to Excel – VBA. The implementation includes an experimental version of the Simpson’s rule, which accepts a function string as argument. However, for serious numerical work it is recommended to specify the integrand function as a proper VBA function.
For a graphical demonstration see the example screenshots, more detailed information are contained in the download files below.
References
- Gander, Walter and Walter Gautschi (1998) Adaptive Quadrature—Revisited, Technical Report 306, ETH Zürich.
- Gander, Walter and Walter Gautschi (2000) Adaptive Quadrature—Revisited, BIT 40(1), 84–101. DOI:10.1023/A:1022318402393
Download Files
Note: The Excel file(s) are developed with MS Excel 2007; for compatibility reasons I add a *.xls version for pre Excel 2007 versions (which are not tested). Both files are in a ‘zipped’ format.

