Re: [問題] 固定亂數uniform(0,1)

看板Fortran作者 (暱稱)時間15年前 (2009/03/14 14:51), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《fishrupm (哈啾)》之銘言: : 之前寫了一份作業 要帶亂數進去做積分 : 可是寫出來的亂數每次都會不一樣 : (問學長 跟找網路上的資料都是這樣) : 後來老師說亂數要固定 種子要固定 : 有爬文看到有寫卡方的版友 : 出來的數每次也都不一樣 : 所以想請問版友 要怎麼寫亂數才會固定 如果你是使用 random_number 取亂數 使用前不要call random_seed 種子就會固定為系統內定值 如果不要使用系統內定值 修改種子的方式可參考下式 SUBROUTINE init_random_seed() INTEGER :: i, n INTEGER, ALLOCATABLE :: seed(:) call RANDOM_SEED(SIZE = n) ALLOCATE(seed(n)) seed = 123456789 * (/ (i, i = 1, n) /) call RANDOM_SEED(PUT = seed) DEALLOCATE(seed) END SUBROUTINE 每個compiler的預設種子不同,甚至演算法也不同 種子給一樣也不能保證助教跑出來跟你一樣 亂數要固定 種子要固定 其實真的沒啥意義..... : (亂數不就是隨便取嗎? 怎麼還要每次都一樣?問的問題連我自己都覺得很怪= =") : 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.18.229

03/14 15:20, , 1F
謝謝你 我會試試看的
03/14 15:20, 1F
文章代碼(AID): #19krG1Mh (Fortran)
討論串 (同標題文章)
文章代碼(AID): #19krG1Mh (Fortran)