std::bernoulli_distribution
STD:伯努利[医]分布
Defined in header | | |
---|---|---|
class bernoulli_distribution; | | (since C++11) |
根据离散概率函数产生随机布尔值。...的概率true
是P%28b p%29=
二次
二次
p-如果b == true
1-pb == false
std::bernoulli_distribution
满足RandomNumberDistribution
...
成员类型
Member type | Definition |
---|---|
result_type | bool |
param_type | the type of the parameter set, see RandomNumberDistribution. |
成员函数
(constructor) | constructs new distribution (public member function) |
---|---|
reset | resets the internal state of the distribution (public member function) |
世代
运算符%28%29在分布%28公共成员函数%29中生成下一个随机数。
特征
p返回p分布参数%28生成真实的%29%28公共成员函数%29的概率
Param获取或设置分布参数对象%28公共成员函数%29
min返回最小潜在生成值%28公共成员函数%29
MAX返回最大潜在生成值%28公共成员函数%29
非会员职能
operator==operator!= | compares two distribution objects (function) |
---|---|
operator<<operator>> | performs stream input and output on pseudo-random number distribution (function template) |
例
二次
#include <iostream>
#include <iomanip>
#include <string>
#include <map>
#include <random>
int main()
{
std::random_device rd;
std::mt19937 gen(rd()
// give "true" 1/4 of the time
// give "false" 3/4 of the time
std::bernoulli_distribution d(0.25
std::map<bool, int> hist;
for(int n=0; n<10000; ++n) {
++hist[d(gen)];
}
for(auto p : hist) {
std::cout << std::boolalpha << std::setw(5) << p.first
<< ' ' << std::string(p.second/500, '*') << '\n';
}
}
二次
可能的产出:
二次
false ***************
true ****
二次
外部链接
韦斯斯坦,埃里克W.“伯努利分布”来自MathWorld的一个Wolfram Web资源。
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。