使用C++TR1从二项式分布生成数
Generating number from binomial distribution using C++ TR1
我正试图使用以下代码(取自互联网)从二项式分布中生成数字。它只编译一个挂起的执行。(我在mac上使用g++。)
有人能提出一个使用C++TR1库功能从二项式分布生成数字的工作代码吗?
#include <tr1/random>
#include <iostream>
#include <cstdlib>
using namespace std;
using namespace std::tr1;
int main()
{
std::tr1::mt19937 eng;
eng.seed(time(NULL));
std::tr1::binomial_distribution<int, double> roll(5, 1.0/6.0);
std::cout << roll(eng) << std::endl;
return 0;
}
以下是工作代码:
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::binomial_distribution<> d(5, 1.0/6.0);
std::cout << d(gen) << std::endl;
}
你可以在这里查看它的结果,它适用于最近的GCC和Clang版本。请注意,通常最好使用random_device,而不是时间来获取种子。
用--std=c++11
编译。
相关文章:
- 改变或缩放两个正态分布以具有特定的相关系数
- 如何创建没有特定定义的随机分布?uniform_int_distribution是从其他类继承的吗?
- C++随机数分布传递给函数
- 从转换后的容器元素创建离散分布
- 从 C++ 函数与 Python 函数返回的不一致值用于偏斜正态分布
- 如何改进搜索二项式系数的递归算法
- 在编译时选择随机数分布
- C++:创建1000次唯一的随机分布,在任何分布中都没有重复的数字
- 两个二项式系数模 10^9 + 7 的 GCD
- c++在循环中定义一组概率分布
- 分布MPI散点错误的数字
- 无法按 lambda 中的值捕获随机分布和生成器?
- 离散分布不对称
- 如何在C++中将函数值更改为表中的值(伽马分布)?
- 在运行时为随机分布类成员设置最小和最大边界?
- 逆生存函数与正态分布的PPF(ICDF)?
- 多态性与C++11分布
- 从提升二项分布中抽取随机数
- 在 c++ 中创建具有指数分布的随机数(可视化标准)
- 使用C++TR1从二项式分布生成数