跳到主要内容

数值映射函数

本文梳理了在对接以下协议设备并配置功能点时可用的全部数值映射函数,并对每个函数的语法与参数进行了详细说明:

函数列表

通过查看下表,找到您需要的函数:

类别函数/常量名语法与参数说明功能说明典型映射场景(示例)
扩展工具线性映射linear(x, inMin, inMax, outMin, outMax)将输入值从原始范围线性映射到目标范围。ADC原始值 [0, 1023] 映射为温度 [-40, 125]:linear(source.value, 0, 1023, -40, 125)
扩展工具区间分段映射mapRange(x, thresholds, outputValues)根据输入值落在哪个区间,返回对应的离散值。thresholds为升序断点数组,outputValues长度=断点数+1。将温度区间映射为等级:mapRange(source.value, [0,20,40], [0,1,2,3])
扩展工具死区/滞回deadband(x, center, halfWidth, neutral)[center-halfWidth, center+halfWidth] 范围内返回中性值,抑制微小波动。过滤传感器噪声:deadband(source.value, 0, 0.5, 0)
扩展工具钳位clamp(x, min, max)将数值限制在上下边界内(内部组合了 Math.min/Math.max)。限制百分比输出范围:clamp(source.value, 0, 100)
幂与指数幂运算Math.pow(x, y)返回 x 的 y 次幂。计算平方:Math.pow(source.value, 2)
幂与指数平方根Math.sqrt(x)返回 x 的平方根。由面积反算边长。
幂与指数立方根Math.cbrt(x)返回 x 的立方根。由体积反算边长。
幂与指数指数Math.exp(x)返回 e 的 x 次幂。热敏电阻线性化拟合。
幂与指数高精度指数减1Math.expm1(x)返回 e^x - 1(精准处理极小值)。高精度小信号放大处理。
对数自然对数Math.log(x)返回 x 的自然对数(以 e 为底)。音频/信号分贝计算。
对数常用对数Math.log10(x)返回 x 的以 10 为底的对数。常用:线性值转对数标度(声压级 dB)。
对数以2为底对数Math.log2(x)返回 x 的以 2 为底的对数。图像/信息论相关换算。
对数高精度对数加1Math.log1p(x)返回 ln(1+x)(精准处理 x≈0)。处理接近零的微小信号。
取整四舍五入Math.round(x)四舍五入取整。常用:输出控制值必须是整数时。
取整向下取整Math.floor(x)向下取整(向负无穷)。分组编号计算。
取整向上取整Math.ceil(x)向上取整(向正无穷)。计算所需最小容器数量。
取整截断取整Math.trunc(x)直接截断小数部分(向零取整)。舍弃小数,仅保留整数部分。
取整单精度浮点Math.fround(x)返回最接近的 32 位单精度浮点数。模拟低精度浮点设备(极少用)。
三角函数正弦/余弦/正切Math.sin(x), Math.cos(x), Math.tan(x)标准三角函数(参数为弧度)。振动分析、角度传感器换算。
三角函数反正弦/反余弦Math.asin(x), Math.acos(x)返回弧度值(-π/2 ~ π/2 或 0 ~ π)。由比值反推相位角度。
三角函数反正切Math.atan(x)返回弧度值(-π/2 ~ π/2)。由斜率计算坡度角。
三角函数象限反正切Math.atan2(y, x)返回从 X 轴到点 (x,y) 的夹角(-π ~ π)。重要:合成向量方向角计算。
双曲函数双曲正弦/余弦/正切Math.sinh(x), Math.cosh(x), Math.tanh(x)标准双曲函数。复杂物理模型(如悬链线计算)。
双曲函数反双曲函数Math.asinh(x), Math.acosh(x), Math.atanh(x)反双曲函数。信号滤波建模。
极值与符号绝对值Math.abs(x)返回绝对值。常用:计算偏差(实际值 vs 目标值)。
极值与符号符号函数Math.sign(x)返回 1, -1, 0(正、负、零)。判断数值变化方向(上升/下降)。
极值与符号最大值/最小值Math.max(args...), Math.min(args...)返回参数列表中最大/最小值。常用:配合钳位范围限制。
几何与向量欧几里得范数Math.hypot(x, y, ...)返回所有参数平方和的平方根。计算二维/三维空间合速度或距离。
常量π (PI)Math.PI圆周率 ≈ 3.14159。角度转弧度:度 * Math.PI / 180
常量自然常数Math.E欧拉数 ≈ 2.71828。指数运算底数。
常量换底常数Math.LN2 (ln2), Math.LN10 (ln10)2 和 10 的自然对数。不同底数对数换算。
常量根号常数Math.SQRT2 (√2), Math.SQRT1_2 (1/√2)常用几何常数。归一化系数计算。