algorithm - 生成具有指数密度函数的随机变量

标签 algorithm random simulation exponential-distribution

<分区>

我想生成一个具有指数密度函数的随机变量:

f(x) = e^x/(e - 1), 0 <= x <= 1

我知道我可以使用一个统一的随机数生成器,并将反转方法用于一个简单的函数,如 (e^-x)。但是,我不确定如何在上面给出的功能上使用它们。

有什么建议吗?

最佳答案

根据 Wolfram Alpha,从 0a 的密度函数的积分是 (e^a-1)/(e-1),它反转为 y=log((e-1)*x+1)。所以逆变换方法应该可以正常工作。

在积分未成功或反演未成功的更一般情况下,随机抽样方法是对给定概率密度的随机变量进行抽样的最广泛适用方法。最容易理解和实现的是拒绝抽样。之后,您将看到 Metropolis-Hastings,它非常强大,但不一定是最容易理解的。

关于algorithm - 生成具有指数密度函数的随机变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20222044/

相关文章:

c++ - 万事俱备用 C++ 将数据输出到磁盘的最快方法是什么?

algorithm - 求平方根时获得精确答案(非近似)的最快算法

python - python中的随机微积分库

python - 在不转换为列表的情况下随机采样 python 集合

c++ - 这是在 C 或 C++ 中生成随机字节数组的好方法吗?

r - 模拟与现有二元变量相关的连续变量

c# - 加倍游戏模拟

algorithm - 在 DFS 中对一个顶点使用 3 个状态有什么好处?

c++ - 为什么指向非静态成员函数的指针不能用作标准库算法的一元谓词?

c++ - avl树中删除过程的实现