问题描述
|
我有817个项目的数据库,每个数据库的“等级”为1到817(数字越小,该项目的“更好”)。该排名基于许多表明质量的因素。
现在,我需要为这些项目分配一个\“ value \”,其中等级1的项目的价值最高,数值随等级的降低而降低(非线性)。
最简单的第一步是选择一个任意的底数(100,000),然后除以等级:
$value = 100000 / $rank;
/**
* Rank : Value
* 1 : 100,000
* 2 : 50,000
* 3 : 33,333
* etc.
*/
产生指数衰减,如下图中的红线所示:
但是,我希望以看起来更像上面的蓝线的方式来评估这些项目。如何更改公式以实现这一目标?
解决方法
尝试将1ѭ(即ѭ2start)用于入门。如果仍然不够慢,请尝试使用较小的分数功率。
, 为什么不选择线性?
value = n - rank
其中n
是您的商品计数,即817。
, 我还没有尝试过,但是使用指数而不是除以1000以2为基数。
更新
value = 2 pow (n-rank)