C++产生正态分布
来源:互联网 发布:狗钙片哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/07 21:38
1.求均值
- double sum = std::accumulate(std::begin(resultSet), std::end(resultSet), 0.0);
- double mean = sum / resultSet.size(); //均值
2.求方差
- double accum = 0.0;
- std::for_each (std::begin(resultSet), std::end(resultSet), [&](const double d) {
- accum += (d-mean)*(d-mean);
- });
- double stdev = sqrt(accum/(resultSet.size()-1)); //方差
double
LogNormal(
double
x,
double
miu,
double
sigma)
//对数正态分布概率密度函数
{
return
1.0/(x*
sqrt
(2*PI)*sigma) *
exp
(-1*(
log
(x)-miu)*(
log
(x)-miu)/(2*sigma*sigma));
}
4.求正态分布随机数
- std::default_random_engine e; //引擎
- std::normal_distribution<double> n(mean, stdev); //均值, 方差
- std::vector<unsigned> vals(9);
- for(std::size_t i=0; i != 200; ++i) {
- unsigned v = std::lround(n(e)); //取整-最近的整数
- if (v < vals.size())
- ++vals[v];
- }
- for (std::size_t j=0; j != vals.size(); ++j)
- std::cout << j << " : " << vals[j] << std::string(vals[j], '*') << std::endl;
阅读全文
0 0
- C语言产生满足正态分布的随机数
- C语言产生满足正态分布的随机数
- C语言产生满足正态分布的随机数
- 使用 C / C++ 产生符合正态分布的随机数
- 产生正态分布随机数
- java产生正态分布随机数
- java随机数产生- 正态分布
- 正态分布随机数的产生
- C++产生正态分布
- 正态分布随机数的产生
- C++产生正态分布的随机数
- 产生满足正态分布的随机数
- 概率算法-均匀分布产生正态分布
- 如何产生正态分布的随机数?
- 根据对数正态分布产生随机数
- C产生正态分布随机数写入文件并读出后用快速排序法排序
- [C++]Random库--正态分布
- 正态分布发生器和方差产生模拟器
- 初识redis
- 1855:|-相交点
- CVPR2014 Objectness BING 源码详解
- HDU1087 跳棋
- Dialog
- C++产生正态分布
- 猜数字游戏
- python语言特性
- JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网
- 就是要你懂 TCP-- 最经典的TCP性能问题
- Java基础10:Vecotor向量类
- 从零开始学习Gradle之三---多项目构建
- 初始Zookeeper
- Editing a Book UVA