sicp/1_29.sch

18 lines
345 B
Scheme

(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))