matlab二项式分布,C++ binomial_distribution二项式分布随机数用法解析

本文介绍了二项式分布及其在C++中的实现,通过std::binomial_distribution模板生成二项式分布随机数。同时,讲解了伯努利分布的特性,使用std::bernoulli_distribution生成随机布尔值。最后,简要提到了负二项式分布及其在C++中的应用。
摘要由CSDN通过智能技术生成

二项式分布是一个离散分布,它可以模型化一系列独立的二元事件。每一个事件只有两种结果(成功或失败),所有事件的成功率相同。

它是由两个参数定义的,t 和 p,t 是实验的次数,p 是一次实现中成功的概率。下面展示了如何用 binomial_distribution 模板生成一个对象:

int t{20}; // Number of trials

double p {0.75}; // Probability of success

std::binomial_distribution<> binomial_d {t, p};

这个对象的成员函数 t() 和 p() 会返回这些参数值。binomial_d 生成的值的图形如图 1 所示。

f4f69a5eb608cd854688c78960430fdd.png

图 1 二项式分布

伯努利分布是一个 t 参数为 1 的二项式分布。STL 提供的 bernoulli_distribution 类定义了这种分布。因为 t 被固定为 1,那么就只需要像构造函数一样提供一个 p 值,并且这个对象会返回一个随机的布尔值。成员函数 p() 可以返回成功的概率。下面是一个展示如何生成和使用这种对象的代码段:

std::random_device rd;

std::default_random_engine rng {rd()};

double p {0.75}; // Probability of success

std::bernoulli_distribution bernoulli_d {p};<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值