INTEGER :: i_seed
INTEGER, DIMENSION(:), ALLOCATABLE :: a_seed
INTEGER, DIMENSION(1:8) :: dt_seed
CALL RANDOM_SEED(size=i_seed)
ALLOCATE(a_seed(1:i_seed))
CALL RANDOM_SEED(get=a_seed)
CALL DATE_AND_TIME(values=dt_seed)
a_seed(i_seed)=dt_seed(8); a_seed(1)=dt_seed(8)*dt_seed(7)*dt_seed(6)
CALL RANDOM_SEED(put=a_seed)
DEALLOCATE(a_seed)
CALL RANDOM_NUMBER(AmpValueNew)
fcode 发表于 2024-3-27 13:35
本站随机数教程
http://fcode.cn/guide-96-1.html
call random_seed( size = n ) !// 请问你需要几个数做为种子?好的,你需要 n 个种子是吧?
allocate( sed(n) ) !// 让我来分配 n 个种子 sed
sed = ...... !// 让我来生成 n 个种子 sed
call random_seed( put=sed ) !// 好了,这是你需要的 n 个种子 sed,我现在交给你
fcode 发表于 2024-3-28 22:05
第一个问题:
call random_seed( size = n ) !// 获得种子大小
此处,random_seed 函数会给 n 赋值。在你的 ...
fcode 发表于 2024-4-4 17:49
你是不是每次都设置了种子?
设置种子的函数,只需要在程序一开始调用一次。之后不要再次调用。
计算机获得 ...
fcode 发表于 2024-4-4 17:49
你是不是每次都设置了种子?
设置种子的函数,只需要在程序一开始调用一次。之后不要再次调用。
计算机获得 ...
fcode 发表于 2024-4-8 20:56
和随机数无关。
fortran的执行语句必须在所有定义语句的后面。
call RANDOM_SEED() 是执行语句,integer:: ...
Andy1201 发表于 2024-4-10 16:47
明白了,谢谢大神吖,我还有两个小问题想向您请教
第一个问题是:call random number生成的随机数是0-1 ...
欢迎光临 Fortran Coder (http://bbs.fcode.cn/) | Powered by Discuz! X3.2 |