我正在寻找一种通过以下方式将任何数字转换为百分比的方法:
1.00 是 50%
低于 1.00 的数字以对数方式接近 0%
高于 1.00 的数字以对数方式接近 100%。
x > 0。所以 y 需要接近 0,因为 x 在正侧变得无限小。
我确信这很容易做到,但我不记得该怎么做。
当您说对数时,您的意思是渐近吗?如果是这样,那么“y 需要接近 0,因为 x 在正侧变得无限小”仅表示 f(0)=0 如果 f 是连续的。在这种情况下 x/(x+1) 将起作用:http ://www.wolframalpha.com/input/?i=x%2F%28x%2B1%29
怎么样y = f(t) = 1 - exp(-t/tau)
?
对于接近 0 的 t,y 约为 t/tau。对于接近无穷大的 t,y 渐近接近 1。
至于 f(1)=0.5 的方法,这可以用来求解 tau = 1/log(2)。
根据您的描述,我听到了 x 立方图 - 非常基本,并且在大多数语言中应该是有效的。
图 http://jedsmith.org/static/S01813305.png
y=(x-1)^3+1
这是用(转换为(1,1)
原点)绘制的。当然,您可以通过简单地缩放 50 来将结果设为百分比。
归根结底,您是在尝试找到一种有效的解决方案,以在编程语言而不是 Mathematica 中为您提供粗略的百分比行为,对吗?