这个函数有数学等价物吗?

时间:2016-01-19 00:25:01

标签: python python-2.7 math

我将一个函数混合在一起,用于在不同的数字标度之间进行转换,我只是想知道是否有一个数学方程可以表示。或者甚至只是编写此功能的更好方法。

我有一个音频设备,它返回一个源的分贝级别,并将其作为0到144之间的数字返回。该比例表示145个值,介于-60db和+ 12db之间,间隔为每个.5db。

我能想到的最好方法是将-60到+12到list dbAry,并根据音频设备返回的值选择一个索引。

def convert(self, value):
    dbAry = []
    a = -60
    while a != 12.5:
        dbAry.append(a)
        a+=0.5

    return dbAry[int(value)]

编辑:顺便说一下Python 2.7。

1 个答案:

答案 0 :(得分:0)

试试这个:

ans = original_number / 2 - 60

这会将original_number转换为您需要的格式。

测试:

110 / 2 - 60 = -5
144 / 2 - 60 = 12