减少更高数字的公式

时间:2011-05-09 04:31:12

标签: javascript math

老实说,我无法想到要搜索的内容,但我所尝试的内容并没有产生任何结果,所以如果已经提出要求,我会道歉。

这也是一个数学问题,而不是一个编程问题,但我是用JavaScript做的,看起来很合适。

我想要做的是将数字越高越多。例如,10可能会减少到9,而100可能会减少到20。我已尝试使用数字本身和除法,但显然只返回一个固定数字。我也尝试过简单的划分,但是所有这些都减少了数量太少而且对比较高的数字几乎没有影响。有没有使用JavaScript的Math对象执行此操作的公式?

3 个答案:

答案 0 :(得分:4)

从您给出的两个示例中,您可能正在寻找一个decilog标度:

function reduce(x) {
    return 10 * Math.log(x) / Math.LN10 ;
}

对于您的示例,

reduce(100) = 20
reduce(10)  = 10

答案 1 :(得分:1)

可以提供一些帮助的一些数学函数

  1. 平方根(或一般的任何根)
  2. 日志功能(适用于缩放需求的基础)
  3. 将这些与将结果或输入乘以常量和/或将值添加到结果或输入相结合,您将能够提供相当数量的缩放选择。

    你甚至可以考虑组合这些功能。

    快速查看您决定的功能将如何缩放数字,可以在图形计算器(或wolframalpha.com)中输入它们,并查看各种输入的图形。

答案 2 :(得分:1)

最后,Wolfram Alpha的一个很好的用例:

http://www.wolframalpha.com/input/?i=best+fit+ [10%2C + 9]%2C + [100%2C + 20]