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的值生成mn…大小的随机序列r。 如果n和p都不是标量,则必须满足[m,n,…]=size(n ),且n必须与p同类型。 如果一个是标量,而另一个不是标量,则标量值将扩展为与另一个参数相同的类型。
r=binornd(n,p,[m,n,…] )同r=binornd(n,p,m,n,…)。
【功能介绍】生成服从二元分布的随机数。 是随机事件,如果将发生的概率设为p,则不发生的概率q=1p。 进行n次独立迭代实验,事件发生的次数应在0~N次之间。 发生k次的概率如下。
相当于二项式的展开项,二项式分布因此而得名。
【实例】根据方程(8,0.6 )生成34随机矩阵; N=9、p分别生成0.4、0.5、0.6的二元分布随机数,每个分布生成8个。
a=binornd(8、0.6、3、4 ) %遵循二元分布) 8、0.6 )的34随机矩阵。
a=
5(6) 6
6(5) 7
53 ) 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=
16
35
45
0 7 6
26
5(73 )
5(4)
2(4)
【实例解释】如果n和p都不是标量,则返回矩阵中的元素分别服从不同参数的二元分布。