gpt4 book ai didi

lambda - Common Lisp 中数值函数的近似导数和二阶导数 - 未按预期工作

转载 作者:行者123 更新时间:2023-12-04 02:25:44 26 4
gpt4 key购买 nike

我尝试了一种非常天真的方法来近似计算 Lisp 中函数的一阶导数,并得出了如下结果:

(defparameter *delta-x* 0.00001)

(defun diff (f x)
(/ (- (funcall f (+ x *delta-x*)) (funcall f x))
*delta-x*))

例如,这样

(diff #'(lambda (x) (* x x x)) 2)
; 12.016296

还不错(12 是实际结果)。所以我想……为什么不呢?并尝试将其扩展到二阶导数近似值,使用

(defun diff2 (f x)
(diff #'(lambda (z) (diff f z)) x))

意识到它可能是一个数值较差的算法,我仍然期待某种结果,但我得到 0.0 作为我尝试的所有答案,所以我猜我写的 Lisp 不是我想的那样......

(diff2 #'(lambda (x) (* x x x)) 2)
; 0.0

非常感谢任何提示!

谢谢。

最佳答案

哈哈。好消息坏消息....好消息是我写的 lisp 正在做我认为我告诉它做的事情。坏消息是我是个白痴。

(defparameter *delta-x* 1/10000)

使其按预期工作。浮点运算101.

关于lambda - Common Lisp 中数值函数的近似导数和二阶导数 - 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67879119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com