为什么这行代码给出了一个平坦的分布?

计算科学 正则 随机数生成
2021-12-04 04:51:59

我正在努力理解一行 FORTRAN 代码,并希望这里有人能够帮助我。这些代码行旨在生成平面分布 - 我知道 GRNDM(RDUMMY,1) 正在使用 FORTRAN 的随机数生成器创建一个名为 RDUMMY 的向量,其数组长度为 1,因此只生成一个随机数,给出一个平面分布。但是我不明白第二行 RND = (RDUMMY-0.5)*SIGMA+XMEAN 的功能,为什么需要这样做才能给出平坦的分布?

在此处输入图像描述

1个回答

您忽略了GRNDM实际做了什么(事实证明这在互联网上并不是那么明显):它返回间隔中的随机数[0,1], 均匀分布。然后第二行中的公式在区间内生成随机数[μσ2,μ+σ2].

在整个数字范围内具有相同概率的意义上,这些当然都不是“平坦”分布。相反,它们仅在一定的间隔内是平坦的(要么[0,1]要么[μσ2,μ+σ2]) 的实数线。