首页 > 其他 > 详细

SICP 习题 (1.44)解题总结

时间:2014-08-24 19:26:42      阅读:224      评论:0      收藏:0      [点我收藏+]

SICP 习题1.44 要求我们实现一个平滑函数的过程,和以往一样,如果你太在意平滑函数的数学定义你就输了。简单的办法就是直奔平滑函数的要求,其实就是给我们一个不清楚细节的函数f,要求我们返回一个过程专门计算(f (+ x dx)) , (f x) , (f (- x dx))的平均值。其中dx是事先定义好的一个很小的数,比如0.001。


这就比较简单了,直接实现如下:

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


如果希望对一个过程进行多次平滑处理,可以结合之前的repeat过程多次调用smooth过程,代码如下:

(define (n-smooth f n)
  ((repeat smooth n) f))


SICP 习题 (1.44)解题总结

原文:http://blog.csdn.net/keyboardota/article/details/34808145

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!