Fortran90:rand(1)不生成随机数

时间:2019-06-05 17:14:54

标签: random fortran gfortran fortran90 random-seed

我正在关注在线fortran教程,并使用addlabelstolabelablerand(1)获得了本应生成随机数的代码相同的数字。

这是我正在关注的教程: https://youtu.be/__2UgFNYgf8?t=927

我们的代码几乎相同,但是为了完整起见,我将在此处重新发布:

call random_number

如您所见,代码中的唯一区别(据我所知)是,我添加了一行额外内容来打印program fortrantutorial real :: float_num = 1.111111111111111 real :: float_num2 = 1.111111111111111 double precision :: dbl_num = 1.1111111111111111d+0 double precision :: dbl_num2 = 1.1111111111111111d+0 real :: rand(1) integer :: low = 1, high = 10 print "(f17.15)", float_num + float_num2 print "(f17.15)", dbl_num + dbl_num2 call random_number(rand) print "(f7.5)", rand print "(i2)", low + floor((high + 1 - low)*rand) end program fortrantutorial 本身。

此代码的输出始终为:

rand

但是运行本教程的那个家伙正在获得各种各样的随机数; 5、2、4、9 ...

尽管代码实际上是相同的,但我不明白为什么他得到的数字不同于我。我有什么遗漏可以选择新种子吗?为什么这对于他的代码来说是自动的,而不是我的代码?

0 个答案:

没有答案