我需要 NodeMCU 中的 Lua 数学库

Posted

技术标签:

【中文标题】我需要 NodeMCU 中的 Lua 数学库【英文标题】:I need the Lua math library in NodeMCU 【发布时间】:2019-03-05 20:33:27 【问题描述】:

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

有什么想法/建议/解决方案吗?

【问题讨论】:

您是否尝试过它是否真的存在,或者您只是假设因为它不在文档中? 不,它不存在...我尝试运行代码,然后我查看了文档,然后我搜索了有关 NodeMCU 固件中数学函数的文档,除了诸如此类的问题之外没有找到我自己关于权力,人们强调他们可以使用 x ^ n 而不是 math,pwr()。 它不存在:nodemcu.readthedocs.io/en/latest/en/lua-developer-faq/… 【参考方案1】:
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

【讨论】:

这比我想象的要简单得多...非常感谢! ?

以上是关于我需要 NodeMCU 中的 Lua 数学库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Lua 中通过 ESP32 和 NodeMCU 使用蓝牙

如何关闭uart的lua解释器? (Nodemcu)

编译NodeMcu

如何让KY-022红外接收器模块在Lua的NodeMCU上工作?

无法在 NodeMCU/ESP8266 中使用 math.pow 函数

ESP8266 NodeMCU Lua 如何清除堆?