有没有办法在R中的某个范围内生成x的分布e ^ x的随机数?
答案 0 :(得分:0)
您的问题尚不清楚,因此我假设您希望将e x 视为密度。范围(0,0.5)上的函数e x 不是密度,因为密度需要具有1的面积。但是,在任何指定的有限范围内,它可以按其面积缩放到把它变成密度。在指定范围内积分e x 会产生e x /0.6487212707001282作为有效密度(在舍入误差范围内)。
然后我们将0到x
的密度积分为0≤x≤0.5,以得出累积分布函数:F(x)=(e x - 1)/ 0.6487212707001282。
我们现在可以使用inverse transform sampling从此分发中生成值。将CDF设置为U,统一(0,1)随机数,并求解x:
x = ln(1 + 0.6487212707001282 * U)