看板 Fortran 關於我們 聯絡資訊
有辦法每次執行時 seed會自動改變嗎 不然每次執行都出現同一組seed的random_number 似乎達不到亂數的感覺 上課ppt上寫說 call random_seed() do i=1,10 random_number(x) print* x enddo end 每次執行a.out 得到的x值都會不一樣 可是我回家用 卻每次都一樣阿 都是同一組 到底是哪裡有問題= =? :wq -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.186.29
motoman:我的gfortran也不會自己random 我的方法是另外塞一個幫我 05/04 23:54
motoman:做random的函式 這個東西google一下就有現成的可用了 05/04 23:55
motoman:另一個方法是設定random_seed 但我不會用= = 05/04 23:56
hsnuallen:我們老師會先CALL random_seed 然後緊接著再摳一次 05/05 00:14
hsnuallen:Call random_seed (get=seed(1))耶 他說這樣可以避免 05/05 00:14
hsnuallen:重複的情形發生...不過我只摳一次也沒有重複@@ 05/05 00:15
latinboy: 要看compiler,gfortran會重複 05/05 08:47
latinboy: 可參考 #19krG1Mh 05/05 08:52
motoman:樓上原來我是call你的東西xd 05/05 09:07
tonyruler:L大點醒我嚕~用ifort跟pgf90都不會重複嚕~ 05/05 20:14
tonyruler:所以用上面兩種編譯器省掉寫函式的空間會比較好嗎? 05/05 20:28
motoman:我的看法是你那個函式留著 code寫成三種都能編譯比較好 05/07 09:54
motoman:一來是可以交插編譯除錯 再來是增加程式的可移植性 intel 05/07 09:57
motoman:的cpu就用ifort編譯執行 amd的就用pgi編 沒必要省code行數 05/07 09:58