我想在Java中使用有界指数分布生成随机数,但公式x = log(1-u)/(−λ)
(此处为[0,1)
之间的均匀随机数)不会生成有界指数随机数。
请告诉我如何在JAVA中生成基于有界指数分布的随机数。
答案 0 :(得分:0)
如果你的问题,你可以尝试重新调整你的U(0,1)rng,比如范围[A ... B],if/else
是lambda
module.exports
在你的情况下A = 1,B = 100
BTW,L
和a = 1.0 - exp(-A*L); // so that log(1-a)/(-L) = A;
b = 1.0 - exp(-B*L); // so that log(1-b)/(-L) = B;
// now sampling
u = a + (b - a) * Rng();
v = log(1-u)/(-L);
具有相同的分布,因此您可以使用u
代替1-u
,为您节省减法