Re: [問題] fortran產生(常態、卡方)隨機亂數的方法?
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章