使用MersenneTwister从泊松区创建随机数
create random number from a poisson dist. using MersenneTwister
嗨,我正在运行一个模拟,在其中我可以轻松地从均匀和正态分布中获得随机数:
#include <iostream>
#include "MersenneTwister.h"
using namespace std;
int main()
{
MTRand mtrand1;
double r1,r2;
r1 = mtrand.rand(); // from a uninform dist.
r2 = mtrand1.randNorm(); //from a normal dist.
}
我想使用这个随机数生成器从均值为"A"的泊松分布中获取一个随机数。
关于如何使用MersseneTwister代码实现此过程的任何想法? 代码可以在这里找到: https://gcc.gnu.org/bugzilla/attachment.cgi?id=11960。它被广泛使用。
您可以使用标准库
#include<random>
double mean = 3.1415926;
std::mt19937 mt{std::random_device{}()};
std::poisson_distribution<> pd{mean};
auto n = pd(mt); // get a number
请注意,用std::random_device
播种不太可能令人满意。
相关文章:
- 尝试在 c++ 中创建随机数生成器并收到错误
- 创建一个带有随机数的向量
- 创建整数的 2D 数组,该数组将使用两个函数用随机数填充矩阵.我做错了什么?
- 如何在C++中创建数字列表,以便它可以选择一个随机数?
- 在 c++ 中创建具有指数分布的随机数(可视化标准)
- 用于创建高斯随机数的 c++ 函数
- 使用MersenneTwister从泊松区创建随机数
- 如何在C 中创建正常分布式随机数生成器的数组
- 在C++中创建随机数矩阵,无需循环
- 使用具有唯一随机数的结构数组创建多个对象
- visual如何在C++中创建一个随机数数组
- 创建双格式的随机数,eclipse停止工作
- 另一种创建随机数的方法
- 创建一个函数以返回指定范围内的随机数
- SRAND 不帮助我创建随机数
- 随机数生成器不断创建2
- 我正在尝试创建一个程序,该程序根据用户输入的最大值将随机数相乘
- rand() 不创建随机数
- 如何创建两个独立的对象,显示随机数10次
- 我能让我的while循环在每次循环时创建一个新的随机数吗