Re: [問題] 固定亂數uniform(0,1)
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章