sicp/1_36.sch

24 lines
472 B
Scheme

(define tolerance 0.00001)
(define (fixed-point f first-guess)
(define (close-enough? v1 v2)
(< (abs (- v1 v2)) tolerance))
(define (try guess)
(let ((next (f guess)))
(display next)
(newline)
(if (close-enough? guess next)
next
(try next))))
(try first-guess))
(define (f x)
(/ (log 1000) (log x)))
(define (average x y)
(/ (+ x y) 2))
; Using average damping, converges about 4 times quicker
(define (f2 x)
(average x (f x)))