Project1

标题: 为什么用如下代码做不出幂律分布的效果? [打印本页]

作者: 黑白界    时间: 2015-4-2 22:58
标题: 为什么用如下代码做不出幂律分布的效果?
本帖最后由 黑白界 于 2015-4-4 22:49 编辑
  1.      
  2.     lia=[]
  3.     lib=[]
  4.     for i in 0..300
  5.       a=rand(100)
  6.       lia[i]=a
  7.       b=3*a-100
  8.       lib[i]=b
  9.     end      #以上做了两个数列,规模为300,随机取样分布应该符合y=3x-100
  10.     for i in 0..300
  11.       x=lia[rand(300)]
  12.       y=lib[rand(300)]
  13.       yy=360-y      #因为我的显示窗口是360*360的,并且游戏里y坐标方向原本是向下的
  14.       if yy<0      #防止溢出
  15.         yy=1
  16.       end
  17.       self.contents.fill_rect(x,yy,1,1,Color.new(255,255,255))      #画曲线
  18.     end
  19.   end
复制代码
以上代码放到窗口的refresh里,出来的效果是散乱无序的分布


以下摘自百科,也是我做这个的初衷:
“Zipf定律与Pareto定律都是简单的幂函数,我们称之为幂律分布;
还有其他形式的幂律分布,像名次- 规模分布、规模- 概率分布,
这四种形式在数学上是等价的,其通式可写成y = cx - r ,
其中x, y是正的随机变量,c, r均为大于零的常数.
这种分布的共性是绝大多数事件的规模很小,而只有少数事件的规模相当大. ”

PS:我数学不太好,以上摘的大部分都看不懂,请大神指点
………………………………………………………………………………………………………………………………………………………………………………………………………………
坑爹的百度,是y=cx^(-r),我还以为是什么高深的数学原理呢
作者: 路路    时间: 2015-4-3 05:10
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1