反转Exp功能。对数刻度

时间:2014-03-06 15:47:32

标签: javascript math logarithm

我正在使用一个函数来给出我在滑块小部件中使用的对数比例。该函数来自this blog。我需要帮助扭转这个功能:

var v = (Math.exp(2.77258872 * x) - 1) / 15;
v *= MAX_WIDTH;

该博客的评论者发布了这个g(f(x))函数,但它似乎没有产生正确的结果:

var unscaledValue = 2.77258872 * (Math.log(v * 15 /MAX_WIDTH + 1))

2 个答案:

答案 0 :(得分:2)

v = (Math.exp(2.77258872 * x) - 1) / 15 * MAX_WIDTH
v * 15 / MAX_WIDTH = Math.exp(2.77258872 * x) - 1
v * 15 / MAX_WIDTH + 1 = Math.exp(2.77258872 * x)
Math.log(v * 15 / MAX_WIDTH + 1) = 2.77258872 * x
x = Math.log(v * 15 / MAX_WIDTH + 1) / 2.77258872

答案 1 :(得分:0)

回去做代数:

v = MAX_WIDTH* ((Math.exp(2.77258872 * x) - 1 ) /15)
v/MAX_WIDTH = (Math.exp(2.77258872 * x) - 1 ) /15)
15*(v/MAX_WIDTH) = Math.exp(2.77258872 * x) - 1
15*(v/MAX_WIDTH) +1 = Math.exp(2.77258872 *x)

log(15*(v/MAX_WIDTH)+1) = 2.77258872*x
(log(15*v/MAX_WIDTH)+1)/2.77258872) = x

看起来你应该分开时成倍增加。