Re: [問題] 產生符合常態分佈的亂數
※ 引述《Peruheru (還在想)》之銘言:
: ※ 引述《maxi326 (新年是又冷又無聊)》之銘言:
: : 沒有錯的話,一般亂數產生出來會符合平均分佈
: : 如果要產生出來的亂數符合常態分佈,要怎樣產生?
: : 例如產生一百萬個亂數後,他們要符合常態分佈
: Private Sub Command1_Click()
: Dim iv, ix, ir As Double
: Dim PI As Double
: PI = 3.141596
: 'f(x)= (1/(2*3.1415)^(1/2)) * e ^ (-(x^2)/2) 高斯公式
: With Me 'textbox1代表x值
: iv = ((Val(.Text1.Text) ^ 2) / 2) * (-1) '此為計算(-(x^2)/2)的值
: ir = Exp(iv) '計算e ^ (-(x^2)/2)
: ix = 1 / Round((2 * PI) ^ (1 / 2), 2) '計算(1/(2*3.1415)^(1/2)) 的值
: .Text2.Text = CStr(ix * ir) 'textbox2代表y=f(x)值
: End With
: End Sub
應該不能用,因為算出來的是pdf(x)
而我現在要算的應該是cdf(x)的反函數
今天有空看了一下,積分太久沒有用已經解不出來了
http://upload.wikimedia.org/math/0/d/6/0d6d29564649c2b89454b26db0fa4e06.png
有沒有好心人幫解一下
有人提到box-muller,但我想用反函數
等我找到微積分書再解看看好了
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.52.124
→
05/20 18:37, , 1F
05/20 18:37, 1F
討論串 (同標題文章)