有趣的数列失真缩放
最近想做一个对Lucene中Term出现频率的统计Applet图。(类似股票K线图)碰到了一个有趣的问题,写出来和大家分享。
上大学的时候好友
萨达姆
对我讲起过他们数学老师变相提分一个故事。(提分就是不考试及格然后。。。。及格的过程。)他学习的是地球物理专业,有一门课叫偏微分方程。这门课很难很难,因为考试的时候,全班50多个人只有4、5个人及格。考试不及格就要补考,全班大部分都补考....(可能大家都抱怨题目太难,或者其他的方面的原因)数学老师犹豫了,考虑提分。于是便运用他的数学知识给出了一个完美的Solution。这就是:给每个人的成绩开平方后在乘10。举个例子:
原来的成绩 :学生甲:100分、学生乙:36分、学生丙:9分。
处理后的成绩:学生甲:10×10=100分、学生乙:6×10=60分、学生丙:3×10=30分。
是不是很像变魔术。我们这里只说这些数字,不谈论其他方面的影响。也就是给一个排序的数字开平方后在乘10,这个数字序列仍然保持着原来的顺序,但前后两个数字的比值已经不是原来的比值了,也就是失真了。
再看另一个例子:
上图是一个Lucene中Term出现频率的统计图。因为Applet的坐标原点在左上角,所以频率高的点Y轴坐标值要小于频率低的Y轴坐标值。上面图形中显示的也不是真实的数据,而是经过了公式的处理。公式如下:Y=(MayY-Y)/(MaxY-MinY)
原来的数字: 500 ,400 ,300 ,200 ,100
处理后的数字: (500-500)/(500-100)=0 ,
(500-400)/(500-100)=0.25,
(500-300)/(500-100)=0.5,
(500-200)/(500-100)=0.75,
(500-100)/(500-100)=1
数字序列处理后,同样保持着原来的顺序(相反的顺序),但是数字间的比值发生了变化。
是不是很有意思!
不知道有没有这样的一类算法,很想知道点其他的类似情况。
田春峰