将当前种子保存在Fortran随机数序列中

时间:2014-04-08 16:15:59

标签: fortran output generator seed

我目前正在使用内在函数rand()来生成随机数。我使用一些已定义的种子初始化了我的序列,但我希望能够输出rand()在我的循环中的某个点使用的当前种子。

通过这样做,我应该能够在新程序中“继续”随机数序列。

根据我在网上看到的,使用与rand()srand()函数关联的随机数生成器无法做到这一点。这是真的?任何人都可以提出不同的方法(也许是RANDOM_NUMBER()?)。

1 个答案:

答案 0 :(得分:3)

randsrand不是标准的Fortran函数。我希望您的编译器文档可以告诉您如何最好地使用它们。但是,Fortran标准定义了一个子例程random_seed,其中包含三个可选参数(名为saveputget)。 putget用于设置和获取随机种子。 save可用于返回用于保存PRNG种子的整数数组的大小。然后可以使用标准例程random_number调用生成器。