Show that the golden ratio φ (section 1.2.2)
is a fixed point of the transformation x → 1 + 1/x, and use
this fact to compute φ by means of the fixed-point procedure.
Modify fixed-point so that it prints the sequence of
approximations it generates, using
the newline and display primitives shown in
exercise 1.22. Then find a solution to xx =
1000 by finding a fixed point of x → log(1000)/log(x). (Use
Scheme’s primitive log procedure, which computes natural
logarithms.) Compare the number of steps this takes with and without
average damping. (Note that you cannot start fixed-point with a guess of 1, as this would cause division by log(1) = 0.)
An infinite continued fraction is an expression of the form
As an example, one can show that the infinite continued fraction
expansion with the Ni and the Di all equal to 1 produces
1/φ, where φ is the golden ratio (described in section 1.2.2).
One way to approximate an infinite continued fraction is to truncate the expansion after a given number of terms. Such a truncation — a so-called k-term finite
continued fraction — has the form
Suppose that n and d are procedures of one argument (the term index i) that return the Ni and Di of the terms of the
continued fraction. Define a procedure cont-frac
such that evaluating (cont-frac n d k)
computes the value of the k-term finite
continued fraction. Check your procedure by approximating 1/φ using
(cont-frac (lambda (i) 1.0)
(lambda (i) 1.0)
k)
for successive values of k. How large must you make k
in order to get an approximation that is accurate to 4 decimal places?
If your cont-frac
procedure generates a recursive process, write one that generates
an iterative process.
If it generates an iterative process, write one that generates
a recursive process.
In 1737, the Swiss mathematician Leonhard Euler published a memoir
De Fractionibus Continuis, which included a continued fraction
expansion for e - 2, where e is the base of the natural logarithms.
In this fraction, the Ni are all 1, and the Di are successively
1, 2, 1, 1, 4, 1, 1, 6, 1, 1, 8, …. Write a program that uses
your cont-frac procedure from
exercise 1.37 to approximate e, based on Euler’s expansion.
A continued fraction representation of the tangent function was
published in 1770 by the German mathematician J.H. Lambert:
where x is in radians. Define a procedure (tan-cf x k) that computes an approximation to the tangent function based on Lambert’s
formula. K specifies the number of terms to compute, as in
exercise 1.37.
Comments
zpPtStHVBIJWtlSFeek
I could read a book about this wioutht finding such real-world approaches!
Post new comment