回 帖 发 新 帖 刷新版面

主题:random_seed()

我想用random_seed 来给定random_number的一个特定的种子
应该怎么弄啊
我查帮助文档,说random_number()是需要两个整数作为种子的,但我写了如下的一段,修改seed1(,)seed2(,)里面的第二个数对产生的随机数没有影响但又不能删掉一个,是怎么回事?

==========================================================================
PROGRAM EX4
REAL ::X1(10),X2(10)
INTEGER::SEED1(2)=(1,0),SEED2(2)=(2,0),SIZE
CALL RANDOM_SEED(SIZE=SIZE)
CALL RANDOM_SEED(PUT=SEED1)
CALL RANDOM_NUMBER(X1)
CALL RANDOM_SEED(PUT=SEED2)
CALL RANDOM_NUMBER(X2)
PRINT *,X1
PRINT *,X2
PAUSE
END PROGRAM EX4

回复列表 (共2个回复)

沙发

随机数用函数random_number()不行吗?

板凳

没那个必要这么复杂,可以直接rand = ran(iseed)  !ran()是内部函数
或者
 REAL x, array1 (5, 5) 
 CALL RANDOM_SEED() 
 CALL RANDOM_NUMBER(x) 
 CALL RANDOM_NUMBER(array1)

我来回复

您尚未登录,请登录后再回复。点此登录或注册