next up previous
Next: 4.4 データの抽象化 Up: 4.3 高階手続きによる抽象化 Previous: 4.3.2 汎用手続きとして用いる場合

4.3.3 関数の戻り値としての手続きの場合

たとえば任意の関数を与えてその微分関数として 手続きを返すような場合です.

==> (define (deriv f dx)
        (lambda (x)
          (/ (- (f (+ x dx)) (f x))
             dx)))
DERIV 
==> ((deriv cube 0.01) 5)
75.15106 
==> ((deriv cube 0.001) 5)
75.01221 
==> (* 3 (square 5))
75 
==> ((deriv (lambda (x) (* 2 x)) 0.001) 5)
1.9998549
derivに任意の関数を与えるとその微分関数をもとめ, それを関数として微分値を得ることができます.

generated through LaTeX2HTML. M.Inaba 平成18年5月6日