You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将两数间距离转换至0-100刻度的公式需求

需求对应的缩放公式解决方案

首先,咱们先把核心需求拆解清楚:要基于两个变量的绝对距离做区间缩放,满足三个关键点:

  • 当两个变量距离为0时,输出值固定为100
  • 只要两个变量的绝对距离相同,不管正负方向差异,输出结果完全一致
  • 最终输出被限制在0-100的区间内

场景1:有明确的最大参考距离(距离到该值时输出0)

如果你能确定一个「距离上限」D_max——也就是当两个变量的距离等于D_max时,输出值为0,那可以用线性缩放公式:

结果 = 100 * (1 - |A - B| / D_max)

参数说明:

  • A是第一个变量,B是第二个变量
  • |A - B|用来计算两个变量的绝对距离(保证正负场景结果一致)
  • D_max是你定义的临界距离,当|A-B|=D_max时结果为0

验证你的示例:

假设你希望距离500时输出值为X,那把D_max=500代入公式:

  • 第一个场景:|400-900|=500 → 结果=100*(1-500/500)=0,此时X=0
  • 第二个场景:|-400-100|=500 → 结果同样是0,完全符合你的要求
  • 当距离为0时:|A-B|=0 → 结果=100*(1-0)=100,满足核心条件

如果担心实际距离超过D_max导致结果为负数,可以给公式加个下限限制:

结果 = max(0, 100 * (1 - |A - B| / D_max))

场景2:没有明确的最大距离(结果渐近趋近于0)

如果没有固定的距离上限,希望距离越大结果越接近0(但永远不会等于0),可以用反比例缩放的变体:

结果 = 100 / (1 + |A - B| / K)

参数说明:

  • K是自定义的调节参数,用来控制结果下降的速率:K越大,结果随距离增大的下降速度越慢
  • 当距离为0时,结果=100/(1+0)=100,满足要求
  • 相同绝对距离的场景,结果完全一致

比如K=500时,距离500的结果是50;K=250时,距离500的结果是33.33,你可以根据实际需求调整K的值。

内容的提问来源于stack exchange,提问作者Plrrp G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 06:23:40