本篇内容介绍了“如何用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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。