主题:请教高手
到底如何选取随机数种子呢?
我有一段程序,当选择的种子不同,得到的运算结果相差很大,这是为什么?如果选择合适的种子,得到的计算结果就接近理想的计算结果。
想问一下,那这种情况下怎么选择种子呢?
另外请问下面这个产生随机数的程序是什么算法?里面的这些数字是某一特定值,还是随便取得?
SUBROUTINE RANDOM(SEED,RAND)
IMPLICIT NONE
INTEGER,DIMENSION(1),INTENT(INOUT)::SEED
REAL,INTENT(OUT)::RAND
SEED=2045*SEED+1
SEED=SEED - (SEED/1048576)*1048576
RAND = REAL(SEED(1)+1)/1048577.0
RETURN
END SUBROUTINE RANDOM
我有一段程序,当选择的种子不同,得到的运算结果相差很大,这是为什么?如果选择合适的种子,得到的计算结果就接近理想的计算结果。
想问一下,那这种情况下怎么选择种子呢?
另外请问下面这个产生随机数的程序是什么算法?里面的这些数字是某一特定值,还是随便取得?
SUBROUTINE RANDOM(SEED,RAND)
IMPLICIT NONE
INTEGER,DIMENSION(1),INTENT(INOUT)::SEED
REAL,INTENT(OUT)::RAND
SEED=2045*SEED+1
SEED=SEED - (SEED/1048576)*1048576
RAND = REAL(SEED(1)+1)/1048577.0
RETURN
END SUBROUTINE RANDOM