本篇內容介紹了“如何用c++實現數值隨機離散分布”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
#包含 <io流>
#包含 <io操作>
#包含 <串>
#包含 <映射>
#包含 <隨機>
整 主()
{
隨機設備 讀;
mt19937 生成(讀());
// α=1 , β=2 的 γ 分布近似于指數分布.
標::γ分布<> d(1,2);
映射<整, 整> 歷史;
對(整 n=0; n<10000; ++n) {
++歷史[2*d(生成)];
}
對(動 p : 歷史) {
輸出 << 固定 << 置精度(1)
<< p.第一/2.0 << '-' << (p.第一+1)/2.0 <<
' ' << 串(p.第二/200, '*') << '\n';
}
}
0.0-0.5 **********
0.5-1.0 ********
1.0-1.5 ******
1.5-2.0 *****
2.0-2.5 ****
2.5-3.0 ***
3.0-3.5 **
3.5-4.0 *
4.0-4.5 *
4.5-5.0 *
5.0-5.5 *
5.5-6.0
6.0-6.5
6.5-7.0
7.0-7.5
7.5-8.0
8.0-8.5
8.5-9.0
9.0-9.5
9.5-10.0
10.0-10.5
10.5-11.0
11.0-11.5
11.5-12.0
12.0-12.5
12.5-13.0
13.0-13.5
13.5-14.0
14.0-14.5
15.0-15.5
15.5-16.0
18.0-18.5
18.5-19.0
#包含 <io流>
#包含 <映射>
#包含 <隨機>
整 主()
{
隨機設備 讀;
mt19937 生成(讀());
標::離散分布<> d({40, 10, 10, 40});
映射<整, 整> m;
對(整 n=0; n<10000; ++n) {
++m[d(生成)];
}
對(動 p : m) {
輸出 << p.第一 << " 生成 " << p.第二 << " 乘\n";
}
}
0 生成 4028 乘
1 生成 978 乘
2 生成 1012 乘
3 生成 3982 乘
“如何用c++實現數值隨機離散分布”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。