1.36 Exercise 1.36
I’m ommitting the change to fixed-point to make it print successive approximations because it is trivial – I added two lines to display the guess and then print a newline at the beginning of the try procedure.
We can see the difference that average damping makes easily:
(define (36-f x) (/ (log 1000) (log x)))
> (fixed-point 36-f 2) |
2 |
9.965784284662087 |
3.004472209841214 |
6.279195757507157 |
3.759850702401539 |
5.215843784925895 |
4.182207192401397 |
4.8277650983445906 |
4.387593384662677 |
4.671250085763899 |
4.481403616895052 |
4.6053657460929 |
4.5230849678718865 |
4.577114682047341 |
4.541382480151454 |
4.564903245230833 |
4.549372679303342 |
4.559606491913287 |
4.552853875788271 |
4.557305529748263 |
4.554369064436181 |
4.556305311532999 |
4.555028263573554 |
4.555870396702851 |
4.555315001192079 |
4.5556812635433275 |
4.555439715736846 |
4.555599009998291 |
4.555493957531389 |
4.555563237292884 |
4.555517548417651 |
4.555547679306398 |
4.555527808516254 |
4.555540912917957 |
4.555532270803653 |
(fixed-point (lambda (y) (average y (36-f y))) 2) |
2 |
5.9828921423310435 |
4.922168721308343 |
4.628224318195455 |
4.568346513136242 |
4.5577305909237005 |
4.555909809045131 |
4.555599411610624 |
4.5555465521473675 |
4.555537551999825 |
And this does calculate the fixed point of the function:
> (expt 4.555537551999825 4.555537551999825) |
1000.0046472054871 |