指数的实际运用
}
由于log(10)10, log(10)100,log(10)1000的区间范围刚好是1--2---3。所以我的想法是用3除以对数,这样的结果:
irate result36.4 1954.4 22103.1 31501.9 951001.6 1602001.4 2803001.3 3904001.3 5205001.2 6008001.1 880
?
可以看到衰减得太快了。我这样思考这个问题,如果要让衰减变慢可以用减法:
数据范围:1------10------100------100------1000
rate范围:6.0----5.0----4.0-------3.0------2.0
?
第二次实现方案:
for (int i = 1; i < 2000; ++i) {
double rate = 6 - Math.log10(i);
float rate0 = Math.round(rate * 10) / 10.0f;
System.out.println(i + "\t" + rate0 + " \t " + Math.round(i * rate0));
}
irate result16.0 655.3 27105.0 50204.7 94304.5 1351004.0 4002003.7 7404003.4 13605003.3 16506003.2 19208003.1 248010003.0 300019002.7 5130
?
?