INTEGER :: n0, t, nt, k, nk REAL :: r, w, p = 5.0/6.0 ! !!!!!!!!!!!!!!!!!!!!!!!!!!! n0 = 1000 OPEN(8, FILE='data1000') OPEN(9, FILE='decay1000') !!!!!!!!!!!!!!!!!!!!!!!!!!! ! w = 10.0/n0 WRITE(8, '(I3, F6.2)') 0, n0*w ! nt = n0 CALL RANDOM_SEED ! 乱数列発生の「種」(初期値) ! DO t=1, 10 ! ! ここはベクトル化しなければならないが,内容は同じことだ。 nk = nt DO k=1, nk CALL RANDOM_NUMBER(r) ! (0,1) 間の一様乱数 IF(r >= p) nt = nt-1 END DO ! WRITE(8, '(I3, F6.2)') t, nt*w WRITE(9, '(I3, F6.2)') t, (nk-nt)*w END DO ! CLOSE(8) CLOSE(9) END