SICP 연습문제 1.44 친절한 풀이

문제

함수를 다듬는 생각은 신호 처리에서 중요한 개념이다. f가 함수이고 dx가 작은 수일 때, f를 다듬은 함수는 x에서 f(x-dx),f(x),(f+dx)의 평균값을 내놓는 함수다. f를 인자로 받아서, 다듬은 함수를 내놓는 프로시저 smooth를 짜라. 또 n-번 다듬은 함수를 구하는 게 쓸모있을 때가 있다. smooth와 연습문제 1.43의 repeated로 어떤 함수를 n-번 다듬은 함수를 어떻게 만드는지 밝혀라.

문제로 부터 얻은 것

앞의 문제를 제대로 풀었다면, 크게 의미는 없는 문제인 것 같습니다.

문제풀이

smooth 프로시저를 정의대로 구현하면 아래와 같습니다.

(define (smooth f)
(define dx 0.0001)
(lambda (x)
(/ (+ (f (- x dx)) (f x) (f (+ x dx))))))







또 repeated로 smooth-n을 구현하면 아래와 같습니다.

(define (smooth-n f n)
((repeated smooth n) f))

앞의 문제를 제대로 풀었다면, 크게 의미는 없는 문제인 것 같습니다.
읽어주셔서 감사합니다.