在最小值和最大值之间生成随机整数的指数分布
我想在一个最小值和最大值之间生成随机整数。使用numpy中的均匀分布:
numpy.random.randint(min,max,n)
这正好满足我的需求。
不过,现在我想让生成的随机数有一个指数偏差。网上有很多建议,比如伪随机数生成器 - 指数分布,还有numpy的一个函数numpy.random.RandomState.exponential
,但这些方法没有说明如何把生成的随机数限制在最小值和最大值之间。我不太确定怎么做到这一点,同时又能保持随机分布。
2 个回答
0
你可以试着把所有的偏差加起来。然后生成一个整数的概率可以用这个公式来表示:j= j的偏差 / 总偏差
。你可以用蒙特卡洛模拟来实现这个过程。
0