1.线性同余法
线性同余法可以用来产生【0,1】之间的均匀随机数,公式如下:
xn=(axn−1+c)mod(M)rn=xn/Mx0
x_{n} = (ax_{n-1} + c)mod(M) \\
r_{n} = x_{n}/M \\
x_{0}
xn=(axn−1+c)mod(M)rn=xn/Mx0
其中, MMM ,aaa,ccc,xnx_{n}xn均为非负整数,则产生的 rnr_{n}rn 为【0,1】的均匀随机数。
这种方法产生的随机数具有周期性,为了使随机性更好往往对各个参数有很多要求。
例如:
M=2La=4α+1,α为任意正整数c=2β+1,β为任意正整数x0为任意非负整数
M = 2^{L} \\
a = 4\alpha +1,\alpha 为任意正整数 \\
c = 2\beta +1 ,\beta 为任意正整数 \\
x_{0}为任意非负整数
M=2La=4α+1,α为任意正整数c=2β+1,β为任意正整数x0为任意非负整数
均匀随机数的产生
最新推荐文章于 2024-05-22 15:00:45 发布