2010-10-09 161 views

回答

8

已经有Box Muller的建议,但一个计算上更简单的方法就是利用central-limit theorem;将足够多的独立随机变量加在一起,结果接近正态分布。

+0

谢谢你的答案。这是否足够有效,因为需要很多随机数字?显然需要32个才能获得足够好的表示。 – 2010-10-09 19:22:12

+1

@Matthew Mitchell:无法确切地回答这个问题,不知道你的平台或你的准确性要求。你最好的选择可能是实现这两种方法和配置文件。我只能说Box-Muller变换需要对log,cos和sqrt进行评估,这可能很昂贵。 – 2010-10-09 19:41:31

+1

这只适用于AI,并不一定100%准确。由于功能只会很少需要,我认为速度并不重要。 – 2010-10-09 19:44:00

10

Box-Muller是您需要的转换。

+0

谢谢你的答案,但我需要一个C实现或可读的伪代码,而不是一个难以理解的维基百科页面。 – 2010-10-09 19:15:44

+0

我并不想在那里无礼,我只需要一些我可以理解并立即使用的东西。不过,我正在为该算法寻找一个体面的网站,所以感谢您的建议。 – 2010-10-09 19:18:20