使用C 生成泊松到达日期
Generate poisson Arrival date using C++ and boost
我正在执行传输网络的仿真程序。我想模拟乘客的到来,这些乘客的到来的毒药分布lambda。
实际上,在我对程序的概念中,我需要两个到达日期的列表:第一个被视为乘客的预期到达日期,第二个将被视为乘客的真正有效到达。
为了生成时间到达,我确实使用Boost使用以下代码:
<blink>
double lambda(Lambda1); //mean of Poisson distr
boost::mt19937 rnd_gen; //Mersenne Twister generator
typedef boost::variate_generator<
boost::mt19937, boost::poisson_distribution<>
> rnd_poisson_t;
rnd_poisson_t rnd_poisson( rnd_gen,
boost::poisson_distribution<>( lambda ) );
rnd_poisson = rnd_poisson_t( rnd_gen,
boost::poisson_distribution<>( lambda ));
for(int i = 0; i <size;i++)
{
value=rnd_poisson();
tab[i]= rnd_poisson();
i++;
}
</blink>
问题是,如果我将此代码用于不同列表来生成同一lambda的到达日期,并且相同的列表大小将始终生成相同的数字。
如何在这一代人中创建一定的变化,以使两个生成的列表有所不同?
每当您使用时,将随机生成器重新播放。大多数情况下,这将产生不同的序列。当您发现:
rnd_gen(static_cast<unsigned int>(std::time(0)));
相关文章:
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 使用C++的日期库读取时间
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- 如何在不使用 std::tm 和 mktime() 的情况下为给定日历日期创建 chrono::time_point 对
- 如何使用 AWS C++ 开发工具包在给定的开始和结束日期范围内列出 S3 中的文件
- 使用霍华德·欣南特的日期库将时间信息添加到year_month_day
- 我的C++程序如何访问计算机的日期和时间以打印和使用当前年份?
- 使用 C++将时间戳转换为格式化的日期时间
- 使用 C++ 查询 MongoDB 的日期字符串
- 仅使用C++中的标准库获取以毫秒为单位的当前日期和时间
- 将 OLE 自动化日期 (OADate) 双精度转换为结构 tm,而不使用 VariantTime到SystemTime
- 生成日期向量使用<ctime>
- 如何使用 c++ 模板实现整数、字符串、浮点数和日期对象的数组
- 使用霍华德·欣南特的日期库将双倍转换为zoned_time
- 使用不同的整数组装字符数组以类似于日期和时间
- 使用提升解析日期时间字符串:采用个位数小时格式
- 使用 c++ 获取两个日期与时间字符串之间的差异(以秒为单位)
- 输出时间和日期与小数时间,不使用 C++11
- 比较日期c++(使用boost)
- 日志文件中的日期使用 ofstream