主要内容

利用均匀分布反演生成随机数

这个例子展示了如何使用均匀分布反演方法生成随机数。当可以计算逆累积分布函数,但不支持直接从分布中取样时,这对分布很有用。金宝app

步骤1。从标准均匀分布生成随机数。

使用兰德从区间(0,1)上均匀分布生成1000个随机数。

rng (“默认”%的再现性u =兰德(1000 1);

反演方法依赖于连续累积分布函数(cdfs)均匀分布于开放区间(0,1)的原理。如果 u 是(0,1)上的一个均匀随机数吗 x F - 1 u 产生一个随机数 x 从任何连续分布与指定的CDFF

步骤2。从威布尔分布生成随机数。

使用逆累积分布函数从带有参数的威布尔分布生成随机数一个= 1B = 1对应的概率u.策划的结果。

x = wblinv (u, 1,1);直方图(x, 20);

直方图显示了使用Weibull逆cdf函数生成的随机数wblinv具有威布尔分布。

步骤3。从标准正态分布生成随机数。

相同的值u可以从任何分布生成随机数,例如标准正态分布,通过使用所需分布的反CDF遵循相同的过程。

图x_norm = norminv(u,1,1);直方图(x_norm 20)

直方图表明,使用标准正态逆cdfnorminv,产生的随机数u这是标准正态分布。

另请参阅

|||

相关的话题