将一系列的值映射到另一个范围

13 浏览
0 Comments

将一系列的值映射到另一个范围

我正在寻找在Python中如何将一个范围的值转换为另一个范围的想法。我正在进行一个硬件项目,从传感器读取数据,传感器可以返回一系列的值,然后我使用这些数据来驱动一个需要不同范围值的执行器。

例如,假设传感器返回的值范围是1到512,执行器的驱动范围是5到10。我希望有一个函数,可以传入一个值和两个范围,然后返回映射到第二个范围的值。如果这样一个函数被命名为translate,可以像这样使用:

sensor_value = 256
actuator_value = translate(sensor_value, 1, 512, 5, 10)

在这个例子中,我期望输出的actuator_value7.5,因为sensor_value在可能的输入范围的中间位置。

0