我正在尝试为移动无线网络建模阴影和快速衰落。对于快速衰落,瑞利衰落是一种合理的模型。信道响应的包络将是瑞利分布的。调用此随机变量R,它将具有
的概率密度函数(PDF)PR(r)=((2r)/Ω)* exp(-r ^ 2 /Ω),r> = 0,Ω=2σ^ 2
http://en.wikipedia.org/wiki/Rayleigh_fading看到方程写得很好。
所以,我有PDF,现在我只是想知道如何从中获取随机变量?
我看过这些问题:
Generate Array of Numbers that fit to a Probability Distribution in Ruby?
Generate Random Numbers with Probabilistic Distribution
但我仍然不确定该怎么做。我花了很长时间才了解PDF,所以如果有人知道用Java获取具有特定PDF的随机变量的方法,那将非常感激!
答案 0 :(得分:4)
瑞利分布是Weibull distribution的一个特例。如果你在谷歌周围,有很多用Java编写的Weibull生成器,例如:
从给定分布生成随机数的一种方法是生成在0和1之间均匀分布的随机数,并将目标分布的逆CDF应用于该随机数。请参阅Wikipedia。
答案 1 :(得分:0)
对于你的情况,这样的事情:
Random generator = new Random();
double r = Math.sqrt(-Omega*Math.log(1-generator.nextDouble()));