fortran中call random_seed
时间: 2024-05-02 09:20:52 浏览: 234
Fortran内部函数Random-seed()共3页.p
在Fortran中,`call random_seed`是一个子程序,用于初始化随机数生成器。它将当前系统时间和进程ID作为种子,生成一个随机数序列,以便在随后的随机数生成中使用。
以下是一个简单的示例程序,演示如何使用`call random_seed`:
```
program random_example
implicit none
integer :: i, seed
real :: r
! 初始化随机数生成器
call random_seed(size=seed)
call random_seed(put=([i*i, i=1,seed]))
! 生成10个随机数并打印出来
do i = 1, 10
call random_number(r)
write(*,*) r
end do
end program random_example
```
在这个例子中,`call random_seed(size=seed)`获取随机数生成器的状态大小,并将其存储在变量`seed`中。然后,`call random_seed(put=([i*i, i=1,seed]))`使用一个数组来设置种子,数组元素的值为1到`seed`之间的整数的平方。最后,`call random_number(r)`生成并返回一个0到1之间的随机数,并将其存储在变量`r`中。
请注意,每次运行程序时,生成的随机数序列将不同,因为种子是基于当前时间和进程ID计算的。
阅读全文