本来有个程序,要重复调用一个数组,但是数组对角元为-0.5---0.5之间的随机数,没想到下面的语句也可以实现:
N=20
Gj=0.8
CALL RANDOM_SEED()
!!第一次生成随机数
CALL RANDOM_NUMBER(Gj)
do j=1,N
H0(j,j)=(Gj(j)-0.5)*0.2*t
enddo
CALL SLRD(N,ENG,H0,HL,HR,SL,ETA,EPS)
CALL RANDOM_NUMBER(Gj)
!!第二次生成随机数
do j=1,N
H0(j,j)=(Gj(j)-0.5)*0.2*t
enddo
CALL SLRD(N,ENG,H0,HR,HL,SR,ETA,EPS)
!!第三次生成随机数
CALL RANDOM_NUMBER(Gj)
do j=1,N
H0(j,j)=(Gj(j)-0.5)*0.2*t
enddo
经过验证,三次生成的随机数不同。而且,数次运行程序,每次生成的随机数也是互不相同的。看来这样很合理了。
发个帖,作个记号吧。 |