第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在C / C ++中按照正態(tài)分布生成隨機數(shù)

在C / C ++中按照正態(tài)分布生成隨機數(shù)

C++ C
收到一只叮咚 2019-08-30 17:56:37
如何在C或C ++中正常分布后輕松生成隨機數(shù)?我不想使用Boost。我知道Knuth詳細談論了這個問題,但我現(xiàn)在還沒有他的書。
查看完整描述

3 回答

?
開心每一天1111

TA貢獻1836條經(jīng)驗 獲得超13個贊

有許多方法可以從常規(guī)RNG生成高斯分布數(shù)。


該箱穆勒變換是常用的。它正確生成具有正態(tài)分布的值。數(shù)學很容易。您生成兩個(統(tǒng)一)隨機數(shù),并通過對它們應用公式,您將獲得兩個正態(tài)分布的隨機數(shù)。返回一個,并保存另一個以獲取隨機數(shù)的下一個請求。


查看完整回答
反對 回復 2019-08-30
?
慕森卡

TA貢獻1806條經(jīng)驗 獲得超8個贊

C ++ 11

C ++ 11提供的std::normal_distribution,這就是我今天要走的路。


C或更舊的C ++

以下是按復雜程度遞增的順序解決方案:


從0到1添加12個均勻隨機數(shù)并減去6.這將匹配正常變量的均值和標準差。一個明顯的缺點是范圍限制在±6 - 與真正的正態(tài)分布不同。


Box-Muller變換。這在上面列出,并且實現(xiàn)起來相對簡單。但是,如果您需要非常精確的樣本,請注意Box-Muller變換與一些統(tǒng)一的生成器相結(jié)合會遭受稱為Neave Effect 1的異?,F(xiàn)象。


為了獲得最佳精度,我建議繪制制服并應用反向累積正態(tài)分布來得到正態(tài)分布的變量。這是一個非常好的逆累積正態(tài)分布算法。


1. HR Neave,“使用具有乘法同余偽隨機數(shù)發(fā)生器的Box-Muller變換”,Applied Statistics,22,92-97,1973


查看完整回答
反對 回復 2019-08-30
  • 3 回答
  • 0 關注
  • 1121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號