Tag: 非均匀分布

用C#实现Box-Mueller随机数发生器

从这个问题:随机数发生器将数字吸引到范围内的任何给定数字? 我做过一些研究,因为我之前遇到过这样一个随机数发生器。 我记得的只是“穆勒”的名字,所以我想我找到了,在这里: Box-Mueller变换 我可以在其他语言中找到它的大量实现,但我似乎无法在C#中正确实现它。 例如,这个页面,用于生成高斯随机数的Box-Muller方法表示代码应该如下所示(这不是C#): #include #include #include #include double gaussian(void) { static double v, fac; static int phase = 0; double S, Z, U1, U2, u; if (phase) Z = v * fac; else { do { U1 = (double)rand() / RAND_MAX; U2 = (double)rand() / RAND_MAX; u = 2. * U1 – […]