第一次读题的时候,把题目中给的表达式看错成了
log(1000 / log(x)),然后发现采用平均阻尼的步数比不用平均阻尼更多。想问一下应该怎么证明这个情况。然后在什么时候会发生这种情况。谢谢
(define tolerance 0.00001)
(define (fixed-point f first-guess)
(define (close-enough? v1 v2)
(< (abs (- v1 v2)) tolerance))
(define (try guess)
(display guess)
(display #\newline)
(let ((next (f guess)))
(if (close-enough? guess next)
next
(try next))))
(try first-guess))
(define (abs x)
(if (< x 0)
-x
x))
(fixed-point (lambda (x) (log (/ 1000 (log x)))) 2)
(display #\newline)
(fixed-point (lambda (x) (/ (+ x (log (/ 1000 (log x))))2)) )
(exit)