将线性比例转换为对数比例

时间:2019-07-16 14:42:49

标签: logging scale linear logarithm

我想将线性额定值从0.1到0的0-10转换为对数刻度0-100。假设对数底数是2.2,并且应该以增加的速率增加,即2-3的值小于8-9。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

最简单的方法是在之前和之后定义一些内容,根据您的指示,这就是我们到目前为止所掌握的信息:

Linear Rating | Log Scale
--------------+----------
 0            | 0
 0.1          | ?
 ...          | ...
 9.9          | ?
 10           | 100

让我们调用线性评级x,对数刻度y和将x转换为y的函数作为f

第一件事,log(0)在任何基数中都未定义,因此您将需要偏移量b > 0

f(x) = log₂.₂(x + b)

第二件事,log₂.₂(10)2.92,因此您需要乘数a > 0

f(x) = a·log₂.₂(x + b)

第三件事,a·log₂₂(x + b) > 0代表x = 0,因此您将需要另一个偏移量c < 0

f(x) = a·log₂.₂(x + b) + c

现在您所要做的就是找到a > 0b > 0c < 0,使得:

f(0) = 0
f(10) = 100

给出两个点和三个未知数,可能有很多解决方案,因此您将需要另一个转换点!

首先,您可以在Wolfram Alpha中输入以下内容:

a * log(b) + c = 0, a * log(10 + b) + c = 100, a > 0, b > 0, c < 0

答案将以e为基础,而不是2.2,但这可能会对您有所帮助。