lua中的高阶导数?

时间:2016-05-21 05:03:15

标签: lua precision

我正在搞乱lua上的高阶衍生物(我还没有在任何不同的语言上对此进行测试)并且发现你将delta设置得越低越早输出0.0,看看这段代码,然后是产量 为什么会这样?

function derivate (f, delta)
delta = delta or 1e-4
return function(x) return (f(x + delta) - f(x)) / delta end
end

c = derivate ( math.cos )
-- c is now -sinx
d = derivate (c)
-- d is now -cosx
e = derivate (d)
-- e is now sinx
f = derivate (e)
-- f is now cosx

print(math.cos(1.23 ), c(1.23) , d(1.23) , e(1.23) , f(1.23) )

输出:

0.3342377271245 -0.94250551224695   -0.3341434795523    0.94257934790676    0.0

0 个答案:

没有答案