我目前正在使用内在函数rand()
来生成随机数。我使用一些已定义的种子初始化了我的序列,但我希望能够输出rand()
在我的循环中的某个点使用的当前种子。
通过这样做,我应该能够在新程序中“继续”随机数序列。
根据我在网上看到的,使用与rand()
和srand()
函数关联的随机数生成器无法做到这一点。这是真的?任何人都可以提出不同的方法(也许是RANDOM_NUMBER()
?)。
答案 0 :(得分:3)
rand
和srand
不是标准的Fortran函数。我希望您的编译器文档可以告诉您如何最好地使用它们。但是,Fortran标准定义了一个子例程random_seed
,其中包含三个可选参数(名为save
,put
和get
)。 put
和get
用于设置和获取随机种子。 save
可用于返回用于保存PRNG种子的整数数组的大小。然后可以使用标准例程random_number
调用生成器。