Re: [問題] fortran產生(常態、卡方)隨機亂數的方法?

看板Fortran作者 (微喵)時間15年前 (2009/03/19 14:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《microcat (微喵)》之銘言: : 請問如何用 fortran 產生 常態分配 及 卡方分配 的亂數 : normal chi-square 自己寫了一個選取常態變數的程式 可是總覺得怪怪的(非標準常態分配 N(0,1) !) 因為希望 mean STD 可以自己決定 如程式中,可自己設定成 N(5,2) 可是程式執行的結果總是怪怪的 請各位幫個忙,謝謝 Program normal use msimsl IMPLICIT NONE integer I,j,M,NR,ISEED,NOUT,XM,XSTD real R(100),RAND(5) DO 100 I=1,100 !→產生樣本的組數為M 組 DO 50 J=1,5 !→產生每組有5 個隨機常態的樣本點 NR =5 XM=5 XSTD=2 CALL RNSET(ISEED) CALL UMACH(2,NOUT) R(I) =RNNOF() CALL RNGET(ISEED) CALL RNNOR(NR,R(5)) !→產生常態分配的亂數 RAND(J)=R(5) 50 CONTINUE WRITE (NOUT,99999) RAND 99999 FORMAT ('Normal Random Deviates: ', 5F8.4) 100 CONTINUE end Program normal 以上程式可編譯執行 可是怪怪的,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.228.61
文章代碼(AID): #19mUrjug (Fortran)
文章代碼(AID): #19mUrjug (Fortran)