我正在使用实现 MIT SCHEME 的 SCMUTILS 包。我从 Emacs 运行它,但在使用函数时遇到问题,你能帮帮我吗?
我的代码是:
(define ((((delta eta) f) q) t)
(let ((fmas (f (+ q (* 0.001 eta))))
(efe (f q)))
(/ (- (fmas t) (efe t)) 0.001)))
(define ((G q) t)
(dot-product (q t) (q t)))
(((((delta test-path) G) test-path) 5))
测试路径在哪里:
(define (test-path t)
(up (+ (* 4 t) 7)
(+ (* 3 t) 5)
(+ (* 2 t) 1)))
我收到了这个错误:
Loading "mecanica"...
;Application of a number not allowed 2501.2500000000273 (())
可能是什么问题呢?
一开始我以为这个方案不能像test-path
用数字那样划分结构,所以我把点积变成了一个返回数字的函数;但这没有用。
我尝试在delta-eta
函数中打印表达式,并且在执行此部分时出现错误:
(/ (- (fmas t) (efe t)) 0.001)))
如果我取出商部分,则没有错误。
当然,我错过了一些东西。希望你能帮忙。谢谢!