我想在C#中編寫一個方法來生成一個高斯隨機數,分佈在[0:1]
(預先在[0-x]範圍內)。 我發現這個代碼,但不能正常工作使用高斯分佈在0和1之間生成隨機數
Random rand = new Random(); //reuse this if you are generating many
double u1 = rand.NextDouble(); //these are uniform(0,1) random doubles
double u2 = rand.NextDouble();
double randStdNormal = Math.Abs(Math.Sqrt(-2.0 * Math.Log(u1)) *
Math.Sin(2.0 * Math.PI * u2));
可能重複? http://stackoverflow.com/q/1303368/2065121 –
@ RogerRowland,不,這是不同的,我想寫一個簡單的方法而不是一個類,我發現這個方法,但這種方法有時返回我的否定結果,而不是精確的結果 – zhilevan
「簡單方法」和類之間的區別僅僅是包裝。這個答案有你需要的信息,尤其是方法。不管你想要怎麼打包。 –