2012-12-05 89 views
3

我正在嘗試爲移動無線網絡建模陰影和快速衰落。對於快速衰落,瑞利衰落是一個合理的使用模型。信道響應的包絡將是瑞利分佈式的。調用這個隨機變量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獲取隨機變量的方式,那將非常感謝!

回答

4

瑞利分佈是Weibull distribution的特例。如果谷歌周圍,有很多用Java編寫的威布爾發電機,例如:

一種方法來生成一個隨機數從一個給定的分佈是產生一個均勻分佈在0和1之間的隨機數,並應用目標分佈的逆CDF到那個隨機數。見Wikipedia

+0

太謝謝你了! flanagan圖書館正是我想要的!節省我不得不創建我自己的算法。謝謝一堆! :) – Lauren

0

對於你的情況,這樣的事情:

Random generator = new Random(); 
double r = Math.sqrt(-Omega*Math.log(1-generator.nextDouble()));