fortran 90中的离散高斯模型

时间:2012-07-08 13:53:31

标签: fortran90

我想生成具有高斯分布的离散随机数(对于1000个集合),其具有均值零和方差2.25。我在书NUMERICAL RECIPES in Fortran 90,第7章,第7.2节中看到了用于此的函数gasdev,但我不知道如何使用这个函数。

如何使用合奏的数量以及均值和方差?

谢谢

2 个答案:

答案 0 :(得分:1)

IMO,如何使用NR中的函数最好用NR本身编写。

如果你需要生成正态分布的实数,请谷歌进行“Box-Muller变换”,或直接转到Wiki page和/或数十个问题和答案。

如果您的要求是生成整数(您的意思是通过询问离散随机数?),我会说最简单的方式is to compute the cdf

答案 1 :(得分:0)

gasdev返回正态分布的随机变量,其均值为0.0,方差为1.0,通常写为N(0, 1)。您应该使用方差缩放结果,以匹配所需的分布。请注意,如果xN(0, 1)(由gasdev返回),则y = a + b*xN(a, b^2),即均值为{{1}的正态分布随机变量和a的方差。

(顺便说一句,如果这是一个家庭作业,它应该被正确标记)