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