Fortran Coder

标题: ran1(idum)的问题 有人可以解答一下吗 球球了 [打印本页]

作者: mkzz    时间: 2022-10-31 10:23
标题: ran1(idum)的问题 有人可以解答一下吗 球球了
本帖最后由 mkzz 于 2022-10-31 10:24 编辑

如附件所示,它在前面声明了idum,
idum=747
后面在用ran随机数的时候是这样的ran1(idum),我想问一下这样生成的随机数是什么范围的呀?
它在书中还解释了,说这个ran1(idum)是根据Numerical Recipes Press et al. (1999). 这一版中规定的随机数生成器来的。
希望有人解答

d70970ee3f35b0b90dc12229d640061.png (124.5 KB, 下载次数: 144)

d70970ee3f35b0b90dc12229d640061.png

作者: 青衣巷    时间: 2022-10-31 19:49
以下是 《NUmerical Recipes》书中关于 ran1 函数的说明。

“Minimal” random number generator of Park and Miller with Bays-Durham shuffle and
added safeguards. Returns a uniform random deviate between 0.0 and 1.0 (exclusive of
the endpoint values). Call with idum a negative integer to initialize; thereafter, do not
alter idum between successive deviates in a sequence. RNMX should approximate the largest
floating value that is less than 1.

结果是 [0,1) 半开半闭区间
作者: mkzz    时间: 2022-10-31 23:35
青衣巷 发表于 2022-10-31 19:49
以下是 《NUmerical Recipes》书中关于 ran1 函数的说明。

“Minimal” random number generator of Park  ...

就是其实无关于是否对idum 赋值,无论给idum赋值多少,ran1(idum)生成的随机数都是0-1吗
作者: 青衣巷    时间: 2022-11-1 20:28
是的。idum 只是一个种子。
如果 idum 每次是固定的。那么得到的随机数也是相同的。

其实,现在语法里有了 random_seed 和 random_number,完全可以用这两个标准函数。

你可以参考  http://random.w.fcode.cn/
作者: mkzz    时间: 2022-11-1 22:21
青衣巷 发表于 2022-11-1 20:28
是的。idum 只是一个种子。
如果 idum 每次是固定的。那么得到的随机数也是相同的。

好嘞,非常感谢




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2