伪Ëm>号由确定性算法生成的。他们是,平均而言,他们通过对他们的分布和相关统计检验意义上的“随机”。他们从他们由一个算法产生的,而不是一个真正的随机过程真正的随机数是不同的。
随机数发生器Ëm>(随机数发生器),如那些在MATLAB 有关GUI从支持的分布产生随机数的更多信息,请参阅万博1manbetx 产生伪随机数的方法通常有统一的随机数开始,像MATLAB 直接法直接使用分布的定义。
例如,考虑二项式随机数。二项随机数的磁头的数量 这个函数是一个简单的实现使用直接的方法二项式RNG的:
结束结束 例如:
该 您可以轻松地将以前的方法转换为随机数发生器与参数泊松分布 该 对于小数值的等待时间的方法 的方法,由于阿伦斯和Dieter对于较大的值 反转的方法是基于这样的观察连续累积分布函数(CDF)的范围均匀分布在间隔 例如,下面的代码从一个特定的生成随机数 通过缩放PDF到用于显示的分布直方图的面积比较产生的随机数到指定的指数的PDF的分布:
反演方法也工作了离散分布。要生成一个随机数 例如,下面的函数实现用于与概率质量向量的离散分布的反转方法 使用功能产生任何离散分布的随机数:
一些分布的函数形式使得难以或耗时产生使用直接或反演方法的随机数。接受 - 拒绝方法提供在这些情况下的替代方法。
接受 - 拒绝方法开始均匀随机数,但需要额外的随机数发生器。如果你的目标是从连续分布的PDF生成一个随机数 连续接受 - 拒绝RNG如下进行:
选择一个密度 找到一个常数 产生均匀随机数 产生一个随机数 如果 为了提高效率,“廉价”方法是必要的,从生成的随机数 用于产生从PDF随机数以下功能实现了一个接受 - 拒绝方法 例如,该功能 PDF格式 该 接受 - 拒绝方法也工作了离散分布。在这种情况下,我们的目标是从概率质量分布产生随机数 选择一个密度 找到一个常数 产生均匀随机数 产生一个随机数 如果常见的伪随机数产生方法
兰特
功能产生。在本节中详细描述的方法如何从其它分布产生的随机数。
直接法
(0,1)
和计数的数量小于功能X = directbinornd(N,P,M,N)X =零(M,N);
RNG(
binornd
功能使用基于二项式随机变量作为伯努利随机变量的和的定义的改性直接方法。
poissrnd
函数实际上使用了两个直接的方法:
反演方法
(0,1)
。如果(0,1)
,然后使用兰特
:
RNG(
numbins = 50;H =直方图(X,numbins);保持
(0,1)
然后设置功能X = discreteinvrnd(P,M,N)X =零(M,N);
P = [0.1 0.2 0.3 0.2 0.1 0.1]。
杆(1:长度(P),h.Values)
接受 - 拒绝方法
GRND
对于功能X = accrejrnd(F,G,GRND,C,M,N)X =零(M,N);
兰特
和exprnd
以生成随机数F = @(X)X * EXP( - (X ^ 2)/ 2);G = @(X)EXP(-x);GRND = @()exprnd(1);RNG(
raylrnd
:
Y = raylrnd(1,1e4,1);直方图(X)保持
raylrnd
函数使用的转化方法,表达卡方随机变量换算的瑞利随机变量,它您使用计算randn
。
相关话题