我需要在NodeMCU中使用Lua数学库

我需要为热敏电阻执行对数运算,但是Lua数学库( math.log )似乎没有被实现,或者我做错了什么。 它在NodeMCU-build.com或文档中都不是一个模块。

有任何想法/建议/解决方案吗?

点赞
用户1847592
用户1847592
local function log(x)
   assert(x > 0)
   local a, b, c, d, e, f = x < 1 and x or 1/x, 0, 0, 1, 1
   repeat
      repeat
         c, d, e, f = c + d, b * d / e, e + 1, c
      until c == f
      b, c, d, e, f = b + 1 - a * c, 0, 1, 1, b
   until b <= f
   return a == x and -f or f
end

local function log10(x)
   return log(x) / 2.3025850929940459
end

该 Lua 片段包含两个函数。

第一个函数 log(x) 返回一个数的自然对数,即 $ln(x)$,其中 $x$ 是参数。它使用连分数算法。如果 $x$ 是负数或零,则函数将引发错误。

第二个函数 log10(x) 返回一个数的以 10 为底的对数,使用 log(x) 函数计算。

2018-09-30 18:07:12