MATLAB如何使用binornd函数生成二项分布随机数

2020年12月22日21:31:25MATLAB如何使用binornd函数生成二项分布随机数已关闭评论

MATLAB如何使用binornd函数生成二项分布随机数

【语法说明】

R=binornd(N,P):生成服从以N和P为参数的二项分布的随机数。N 为独立重复试验的次数,P 为一次试验中随机事件的发生概率。N与P可为同型向量、矩阵或多维数组,此时R返回同型的随机数组。如果N与P其中之一为标量,则该标量将被扩展为与另一个参数同型的数组。

R=binornd(N,P,m,n,…):若N与P为标量,则函数按N和P的值生成m×n×…大小的随机数组R。如果N与P均不为标量,则必须满足[m, n,…]=size(N),且N 与P 同型。如果其中之一为标量,另一个不是标量,则标量值将被扩展为与另一参数同型。

R=binornd(N,P,[m,n,…]):同R=binornd(N,P,m,n,…)。

【功能介绍】生成服从二项分布的随机数。假设ξ是一个随机事件,发生的概率为p,则不发生的概率q=1−p。做N次独立重复试验,事件ξ发生的次数应该在0~N 次之间。ξ发生k 次的概率为:

MATLAB如何使用binornd函数生成二项分布随机数

相当于一个二项式的展开项,二项分布因此得名。

【实例】生成服从(8, 0.6)二项分布的3×4 随机矩阵;生成N=9,P分别等于0.4、0.5、0.6的二项分布随机数,每种分布生成8个数。

>> a=binornd(8,0.6,3,4) % 服从二项分布(8, 0.6)的3×4随机矩阵。

a =

5 5 6 6

6 6 5 7

5 4 3 6

>> p=[0.4,0.5,0.6]    % p=0.4,0.5,0.6

p =

0.4000 0.5000 0.6000

>> p=repmat(p,8,1)    % 矩阵扩展

p =

0.4000 0.5000 0.6000

0.4000 0.5000 0.6000

0.4000 0.5000 0.6000

0.4000 0.5000 0.6000

0.4000 0.5000 0.6000

0.4000 0.5000 0.6000

0.4000 0.5000 0.6000

0.4000 0.5000 0.6000

>> b=binornd(9,p,8,3)

% 第一列为满足(9,0.4)二项分布的随机数,以此类推

b =

1 3 6

3 1 5

4 4 5

0 7 6

2 3 6

5 7 3

5 7 4

2 6 4

【实例讲解】当N和P不都是标量时,返回矩阵中的元素各自服从不同参数的二项分布。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。