我写了一个导函数如下:
(define (der f h)
(lambda (x)
(/ (- (f(+ x h)) (f x)) h)))
以及用于查找二阶和三阶导数的另一个函数:
(define (der-multiple f h n)
(if (= 0 n)
0
(der (f h)))
(- n 1))
我尝试如下绘制 sin(x) 的导数,但它不起作用。
(define (f x) (der (sin x) 0.5))
(require plot)
(plot (function f (- 5) 5 #:label "sine^-1(x)")
#:x-min -5 #:x-max 5 #:y-min -5 #:y-max 5)
lang 球拍是进口的,但我得到的只是一个白屏。我在这里做错了吗?我应该将导数函数中的 (lambda (x)) 更改为其他内容以使函数更易于绘制吗?
更新代码
(define (der f h)
(lambda (x)
(/ (- (f(+ x h)) (f x))
h)))
(define (der-multiple f h n)
(if (= 0 n)
f
(der-multiple (der f h) h (- n 1))))
(define (der-sin-fourth h)
(der-multiple sin h 4))
(plot (function (der-sin-fourth 0.5) (- 5) 5 #:label "sine^-4(x)")
:x-min -5 #:x-max 5 #:y-min -5 #:y-max 5)