fortran 产生随机数方法介绍(附代码) 注意:现在计算机产生的随机数都是伪随机数
0-1 之间均匀分布的随机数 random_number(x) 产生一个 0 到 1 之间的随机数(x 可以是向量),但是每次总是那几个数
用了 random_seed ()后,系统根据日期和时间随机地提供种子,使得随机数更随机了
program random implicit none real :: x call random_seed ()
系统根据日期和时间随机地提供种子 call random_number (x)
每次的随机数就都不一样了 write(*,*) x stop end program random 2
任意区间均匀分布的随机数 function my_random (lbound,ubound) implicit none real :: lbound,ubound real :: len real :: my_random real :: t len=ubound-lbound
计算范围大小 call random_number(t)
t 是0-1 之间的随机数 my_random=lbound+len*t return end 注意:在循环外 call random_seed() 3
产生一个随机数数组,只需加一个循环即可 function my_random (lbound,ubound) implicit none real :: lbound,ubound real :: len integer size real :: my_random(size)
size 代表数组元素的个数 real :: t integer i len=ubound-lbound
计算范围大小 do i=1,10 call random_number