SICP Exercise 1.44
Question
The idea of smoothing a function is an important concept in signal processing.
If
Write a procedure smooth
that takes as input a procedure that computes smooth
and repeated
from exercise 1.43.
Answer
(define (square x) (* x x))
(define (compose f g)
(λ (x) (f (g x))))
(define (repeated f n)
(if (= n 1)
(λ (x) (f x))
(repeated (compose f f) (- n 1))))
(define (smooth f)
(let ((dx 0.00001))
(λ (x) (/ (+ (f x) (+ (f x) dx) (- (f x) dx)) 3))))
(define (n-fold-smooth f n)
(repeated (smooth f) n))
(sin 3.14152)
((n-fold-smooth sin 10) 3.14152)
Results:
7.265358972945281e-5
7.265355706761721e-5