summaryrefslogtreecommitdiff
path: root/cl/src/approx/derivative.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'cl/src/approx/derivative.lisp')
-rw-r--r--cl/src/approx/derivative.lisp8
1 files changed, 8 insertions, 0 deletions
diff --git a/cl/src/approx/derivative.lisp b/cl/src/approx/derivative.lisp
new file mode 100644
index 0000000..280463f
--- /dev/null
+++ b/cl/src/approx/derivative.lisp
@@ -0,0 +1,8 @@
+(in-package :lizfcm.approx)
+
+(defun derivative-at (f x &optional (delta 0.01))
+ (let* ((x2 (+ x delta))
+ (x1 (- x delta))
+ (y2 (apply f (list x2)))
+ (y1 (apply f (list x1))))
+ (/ (- y2 y1) (- x2 x1))))