18 lines
345 B
Plaintext
18 lines
345 B
Plaintext
|
(define (cube x) (* x x x))
|
||
|
|
||
|
(define (simpson-iter f a b n k)
|
||
|
(let* ((h (/ (- b a) n))
|
||
|
(y (f (+ a (* k h))))
|
||
|
(coeff
|
||
|
(cond ((= k 0) 1)
|
||
|
((= k n) 1)
|
||
|
((odd? k) 4)
|
||
|
((even? k) 2))))
|
||
|
(+ (* (/ h 3) (* coeff y))
|
||
|
(if (= k n)
|
||
|
0
|
||
|
(simpson-iter f a b n (+ k 1))))))
|
||
|
|
||
|
(define (simpson-int f a b n)
|
||
|
(simpson-iter f a b n 0))
|