2015/10/18
SICP 問題 2.15
(define (par1 r1 r2)
(div-interval (mul-interval r1 r2)
(add-interval r1 r2)))
(define (par2 r1 r2)
(let ((one (make-interval 1 1)))
(div-interval one
(add-interval (div-interval one r1)
(div-interval one r2)))))
par1
には不確かな数(r1,r2)が4回出てきている.
par2
には不確かな数が2回.
そのためpar2
のほうが誤差が小さい.
gosh> (define r1 (make-center-percent 5 5))
r1
gosh> (define r2 (make-center-percent 20 5))
r2
gosh> (define p1 (par1 r1 r2))
p1
gosh> (define p2 (par2 r1 r2))
P2
gosh> (center p1)
4.040100250626566
gosh> (percent p1)
14.900744416873444
gosh> (center p2)
4.0
gosh> (percent p2)
4.999999999999999