[問題] 高斯分佈的亂數
看板Fortran作者MichaelKiske (Dr. Stein..............)時間14年前 (2010/03/31 13:06)推噓1(1推 0噓 4→)留言5則, 3人參與討論串1/2 (看更多)
目前在寫一個程式需要用到高斯分佈的亂數,變異數為1,平均值為0。
google了一下發現有各種算式但是怎麼弄都不對= =
假設我的程式如下,g=那行到底要用啥算式來做轉換哩…
real x, g
call RANDOM_SEED()
do i=1, 100
call RANDOM_NUMBER(x)
g =
end do
我google到發現有兩種,一種是
g = sqrt(1/(2*3.14159))*exp(-(x**2)/2)
但是生不出負值…
另一種是
g = sqrt(-2*log(x))*cos(x*3.14159)
但這行產出來的值又超過正負1的範圍orz
請教各位大大啦~
--
→
03/05 01:32,
03/05 01:32
→
03/05 01:32,
03/05 01:32
→
03/05 01:33,
03/05 01:33
→
03/05 01:34,
03/05 01:34
推
03/05 01:36,
03/05 01:36
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 198.166.28.178
推
03/31 19:39, , 1F
03/31 19:39, 1F
→
03/31 22:16, , 2F
03/31 22:16, 2F
→
03/31 22:17, , 3F
03/31 22:17, 3F
→
03/31 22:20, , 4F
03/31 22:20, 4F
→
04/02 22:15, , 5F
04/02 22:15, 5F
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章