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