看板 Fortran 關於我們 聯絡資訊
目前在寫一個程式需要用到高斯分佈的亂數,變異數為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 請教各位大大啦~ --
victoryss:天佑淫河系 03/05 01:32
victoryss: 銀....幹妳媽淫蕩新注音= = 03/05 01:32
victoryss:我關閉學習功能了 打開她常常害我玩網路遊戲當雞-.- 03/05 01:33
victoryss:沒人相信我 人緣這麼插阿= =03/05 01:34
victoryss:越描越黑是怎樣啦( ‵□′)───C<─___-)||| 03/05 01:36
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 198.166.28.178
latinboy: 認為超過1有問題 代表你要去複習變異數的定義 03/31 19:39
MichaelKiske:俺是統計遜咖orz 樓上是指變異數只會包含95%的區間嗎 03/31 22:16
MichaelKiske:也就是第二個轉換式才是對的? 03/31 22:17
MichaelKiske:不過第二個轉換式只有正值會超過1…很怪= = 03/31 22:20
mantour:第一個是它的p.d.f,而不能直接當作變數變換的式子 04/02 22:15