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

它是由两个参数定义的,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 所示。

图 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};

std::cout << std::boolalpha; // Output bool as true or false

for(size_t i {}; i < 15; ++i)

std::cout << bernoulli_d(rng) << ' ';

std::cout << std::endl;

执行这段代码后,得到的输出如下:

true true false true true true true true false true false true true false true

负二项式分布

负二项式分布是一个离散分布,它可以模型化试验序列中指定的成功次数之前的失败次数。试验只有两个可能的结果,它们彼此是相互独立的。如果成功的次数是1,这个分布就成了几何分布。也可以将这个分布看作给定成功次数之前的失败次数的模型。

negative_binomial_distribution 模板定义了一个默认返回 int 型整数的对象类型。negative_ binomial_distribution 模板的构造函数需要两个参数:失败次数 k 和成功的概率 p。下面是生成一个对象的示例:

int k {5}; //Number of successes

double p {0.4}; // Probability of success

std::negative_binomial_distribution<> neg_bi_d {k, p};

neg_bi_d 的成员函数 k() 和 p() 可以返回参数的值,neg_bi_d 生成的值的图形如图 2 所示。

图 2 负二项式分布:k=5 p=0.4

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

  1. Matlab中image、imagesc和imshow函数用法解析

    原文转自:http://blog.csdn.net/zhupananhui/article/details/16340345 1.显示RGB图像 相同点:这三个函数都是把m*n*3的矩阵中的数值当做R ...

  2. matlab hold on 置顶,matlab中 hold on 与hold off的用法

    hold on 是当前轴及图形保持而不被刷新,准备接受此后将绘制 hold off 使当前轴及图形不在具备被刷新的性质 hold on 和hold off,是相对使用的 前者的意思是,你在当前图的轴( ...

  3. matlab 最大似然估计二项式分布,最大似然法估计二项式分布参数

    原标题:最大似然法估计二项式分布参数 前面我们学习了解了最大似然法求解正态分布参数,求解指数分布参数.今天我们再来看看最大似然法如何求解二项式分布参数. 1.二项式分布与似然值估计公式 二项分布基本公 ...

  4. matlab如何均匀分布,[转载]【MATLAB】高斯分布 均匀分布 以及其他分布 的随机数生成函数...

    matlab中rand和randn是产生随机数的命令,链接 x=rand(1,N) 产生(0,1)区间均匀分布的长度为N的随机信号, x=randn(1,N)产生长度为N且具有零均值和单位方差的正态分 ...

  5. Matlab之一行代码生成服从三角分布随机数

    Matlab之一行代码生成服从三角分布随机数 0 先上干货 代码长这样: x1 = random(makedist('Triangular','a',3,'b',4,'c',5),1,10000) % ...

  6. matlab噪声 方差_产生多种分布的热噪声信号

    雷达通信电子战 基础科普-前沿搜罗-同行交流 加入 热噪声信号的产生 在我们仿真雷达信号处理流程时,需要先仿真雷达的回波信号,同时为了更符合实际情况,我们还需要给雷达回波信号叠加上噪声或杂波.但由于噪 ...

  7. 概率特性仿真实验与程序-Matlab仿真-随机数生成-负指数分布-k阶爱尔兰分布-超指数分布

    概率特性仿真实验与程序-Matlab仿真-随机数生成-负指数分布-k阶爱尔兰分布-超指数分布 使用Java中的SecureRandom.nextDouble()生成一个0~1之间的随机浮点数,然后使用 ...

  8. matlab 伽马分布函数,伽马分布(Γ分布的分布函数)

    相信很多人对于伽马分布(Γ分布的分布函数)并不是非常的了解,因此小编在这里为您详解的讲解一下相关信息! 卡方(n)~gamma(n/2,1/2) 指数分布exp(k)~gamma(1,k) 伽玛分布是 ...

  9. MATLAB 正态(高斯)分布概率密度函数

    MATLAB 正态(高斯)分布概率密度函数 中文:正态(高斯)概率密度函数 英文:Normal Probability Distribution Function 函数: y = normpdf(x) ...

  10. matlab画某个变量的全球分布

    matlab画某个变量的全球分布 clc;clear;close all; %% 读取数据 ncdisp '2021.nc' path1='2021.nc'; % 请自行填补 info=ncinfo( ...

最新文章

  1. Hadoop文件系统常用命令
  2. python数据分析图_Python数据分析:手把手教你用Pandas生成可视化图表的教程
  3. Silverlight Dispatcher 类
  4. C语言goto关键字—尽量少用
  5. matlab中ncread读取nc文件其中一个三维参数的其中一维_Matlab使用技巧总结-1
  6. linux服务器重启ctrl,Linux禁止Ctrl+Alt+Del重启
  7. 淘宝海报字体素材模板,让你的海报字体活起来!
  8. nali for win golang版, 显示ip 的小工具
  9. Word中批注的使用方法
  10. 贝叶斯推断应用:垃圾邮件过滤
  11. 对cross-env的理解
  12. 用AdGuard Home搭建一个内部的DNS服务器,开启局域网内无广告和追踪的浏览体验
  13. 第五章 区块链在非金融行业的应用
  14. 前端面试题--水平垂直居中的方法
  15. oracle 标示符太长,Oracle PLS-00114: 标识符 ' ' 太长
  16. 网页UI 素材 资源
  17. 人工智能翻译能否取代人工翻译
  18. hbase的rowkey设计原则及热点问题
  19. Vue+flask物业缴费-车位电梯消防排水空调 报修信息管理系统django python java
  20. 从高级程序员到 CTO 的 4 次能力跃迁!

热门文章

  1. django bootstrap3
  2. 年末总结(androidbug)
  3. 单片机继电器控制实验程序C语言,用单片机通过继电器来控制电热水器的实验...
  4. Mac 拓展屏幕时切换软件窗口停留在Mac 显示器中
  5. Pre-Trained Models: Past, Present and Future
  6. 论文解读:Making Pre-trained Language Models Better Few-shot Learners(LM-BFF)
  7. ios 提交错误 ITMS-90096
  8. 如何定期清理DNS缓存?清理DNS缓存有什么用?
  9. 图片打印设置之适应边框打印
  10. 新疆旅游8天要多少钱,新疆8天价格记录分享