代码之家  ›  专栏  ›  技术社区  ›  DandyCC

如何将一个数字尺度转换成另一个?

  •  -1
  • DandyCC  · 技术社区  · 7 年前

    假设我有一个数值尺度,我想把它转换成一个不同的尺度,这样关系就成比例了。例如,我有一个从2到6的比例,我想把它转换成另一个从50到250的比例,所以4,即第一个比例的中点,对应于150,即第二个比例的中点。

    有人知道这是如何在数学上实现的吗?必须对第一个比例的每个元素应用什么公式或方程才能将其转换为第二个比例的对应元素?

    事先谢谢。

    1 回复  |  直到 7 年前
        1
  •  1
  •   OmG    7 年前

    你可以把它转换成 [0,1] [a,b] 然后把它转换成 [c,d] .

    x in [a,b] => y = (x-a)/(b-a) in [0,1]
    y in [0,1] => z = (d-c)*y + c in [c,d]
    

    因此 x z 是:

    x in [a,b] => z = (d-c) * (x-a) / (b-a) + c in [c,d]