我目前正在做一个项目,我需要生成多个值(最好是浮点数或双精度数),这些值遵循给定指数的幂律分布!
有人建议我使用MathNet.Iridium库来帮助我。我的问题是,如果有的话,文档并不像它应该的那样明确!
我看到了符合幂律分布一般思想的多个分布,但我找不到一个好的分布来使用某个指数作为参数。
有没有人在这方面有更多的经验,可以给我一些提示或建议?
发布于 2010-04-07 21:01:11
要生成所选分布的值,可以使用逆累积分布函数,如wikipedia中所述。
一步一步,这看起来像这样:
根据单位间隔上的均匀分布,选择一个分布函数,您可以使用pen like.
Random在这里会做得很好。结果是使用您选择的分布函数随机选择的值。
如果您在第2步遇到问题,也许https://mathoverflow.net/的人员可以帮助您。
编辑:如果您只需要指数为gamma的幂律分布,这将生成一个值:
double r = 1.0 / Math.Pow(1-new Random().NextDouble(), 1.0/(gamma+1));https://stackoverflow.com/questions/2592375
复制相似问题