200分求救:怎样随机产生一组数据,使其符合负指数分布?(200分)

L

linuxee

Unregistered / Unconfirmed
GUEST, unregistred user!
200分求救:怎样随机产生一组数据,使其符合负指数分布?
 
随机数再进行你条件过滤。
先描述一下算法,再作程序
 
用线性同余法产生(0,1),均匀分布的随机数,这种方法是当前在离散系统仿真中应用广泛的随机数发生器算法,其递推算法如下
Zi=(aZi-1+c)modM
Ui=Zi/M
式中Z-第i个中间值,初始值Z0为种子
a-常数乘子,取值为314159269
c-常数增量,取值为453806245
M-模,取M=2
Ui-(0,1)区间内均匀分布的随机数
按以上参数得到的随机数算法有以下两点好处:①发生器是满周期的,在范围内可以产生21亿个互不重复的随机数。②当M值很大时,每产生一个随机数都需进行一次很大的数的除法运算,十分耗费机时,而采用以上参数时,可采用“溢出法”来得到对M取模的数值,这将显示著提高产生随机数据的效率。
在随机数发生器的基础上,采用逆变法即可得到负指数分布的随机变量,公式如下
xi=-(1/λ)lnUi
 
还是不太懂,能再说清楚点吗,3X
哪里有这方面的资料吗?
 
顶部