此示例显示了如何使用统一分发反转方法生成随机数。当可以计算逆累积分布函数时,这对分布非常有用,但没有支持直接从分布中采样。金宝app
采用兰特
从间隔(0,1)上的均匀分布生成1000个随机数。
RNG('默认')重复性的%u =兰特(1000,1);
反演方法依赖于连续累积分布函数(CDF)在开放间隔(0,1)上均匀的原理。如果
是(0,1)的均匀随机数,然后
生成随机数
从任何连续分布与指定的CDFF
。
使用逆累积分布函数从带有参数的Weibull分布生成随机数a = 1
和B = 1
这对应于概率你
。绘制结果。
X = WBLINV(U,1,1);直方图(x,20);
直方图显示使用Weibull反常CDF功能生成的随机数Wlininv.
有一个weibull分布。
相同的价值你
通过使用所需分布的逆CDF的相同过程,可以从任何分布,例如标准正常生成随机数。
图x_norm = norminv(u,1,1);直方图(X_NORM,20)
直方图显示,通过使用标准正常逆CDF诺考
,从中生成的随机数你
现在有标准的正态分布。