Technical Appendix

Main Menu           Previous Topic                                                           Next Topic

Simpson's Rule

Our goal is to compute definite integrals of the demand functions entered by the user in Slides 2 and 4 of Topic 2, and Slide 1 of Topic 3. To this end, we use an approximation of a definite integral known as Simpson's Rule. According to the Simpson's rule:

[4]

Where

[5]

The function f's domain, [a,b], is divided into m intervals of length 2h each. On each interval, the function is approximated as a quadratic, and the integral is calculated accordingly. Adding up all the small areas of this piecewise function results in equations [4] and [5].

Certainly, as the length of each interval h decreases, and their number m increases, the right hand side of equation [4] gets closer and closer to the integral on the left hand side. In the limit, as h approaches 0, equation [4] becomes an exact equality. We found that for our purposes, setting m to a value of 100 yields sufficiently precise integration.

In our implementation, we wrote a MiniScheme function, `integral`, which encompasses equations [4] and [5] above, and computes an integral of any other MiniScheme function defined on the interval [a,b]:
``` (define integral (f a b m)     (let ((h (/ (- b a) (* 2 m))) (sum 0))         (begin             (for i (< i m)                 (set sum                     (+ sum (f (+ a (* 2 i h)))                            (* 4 (f (+ a (* h (+ (* 2 i) 1)))))                            (f (+ a (* h 2 (+ i 1)))))))             (set sum (* h (/ sum 3)))             sum))) ```

For example, a MiniScheme expression `(integral demand 1 2 10)` integrates function `demand` of one variable between `1` and `2` using `10` subdivisions of this domain, given that the function is defined for every point in `[1, 2]`.

Previous Slide                                                           Next Slide