小编典典

伪随机数生成器-指数分布

algorithm

我想生成一些伪随机数,到目前为止,我对.Net库的Random.Next(int min, int max)功能非常满意。这类PRNG 应该
使用统一分布,但是我非常想使用指数分布来生成一些数字。

尽管我会接受伪代码或C ++,Java等,但我正在用C#进行编程。

有什么建议/代码段/算法/想法吗?


阅读 357

收藏
2020-07-28

共1个答案

小编典典

由于您可以使用统一的随机数生成器,因此可以使用反演方法轻松生成与其他分布的CDF一起分布的随机数。

因此,生成均匀随机数,u[0,1),然后计算x方式:

x = log(1-u)/(-λ)

哪里λ是指数分布的速率参数。现在,x是一个具有指数分布的随机数。请注意,log上面是ln,自然对数。

2020-07-28