関数の平滑化(smoothing)の考えは信号処理に重要な概念である.
f を関数, dxを微小な値とすると, fの平滑化したものは, xでの値がf(x - dx), f(x), f(x + dx)の平均であるような関数である.
入力としてf を計算する手続きをとり, fの平滑化関数を計算する手続きを返す手続きsmoothを書け.
時には関数を繰り返し平滑化する(つまり平滑化関数を平滑化し, これを繰り返す), n重平滑化関数(n-fold smoothed function)を得るのは有益である.
smoothと問題1.43のrepeated を使い, 与えられた関数のn重平滑化関数を作る方法を示せ.
言われた通り実装しただけで、これであってるのかわからない。
(define (smooth f)
(lambda (x)
(/ (+ (f (- x dx)) (f x) (f (+ x dx))) 3)))
(define (n-fold-smooth f n)
((repeated smooth n) f))
※次からの問題1.45と1.46はスキップ。