一:试验原理。
(1)产生区间(0,1)上均匀分布的伪随机数(Z ~U (0,1))。
混合同余法:
由递推式
Y(1)=1;
Y(n+1)=(314159269Y(n)+453806245)%2147483648;
得到Y(i) 的序列。
然后由Z(i)=Y(i)/2147483648;
得到符合Z~ U(0,1) 分布的伪随机数
程序如下:(MATLAB语言)
function y=diyrand(n) %混合同余法生成(0,1)之间的随机数
x1=1;
z(1)=1;
for i=1:n-1
x2=mod(314159269*x1+453806245,2147483648);
z(i+1)=x2;
x1=x2;
end
y=z/2147483648;
end