1.glc格雷码随机序列
function Glc
n=1000;
for i=1:n
x(i)=glc(i);
end
disp(sprintf('%f ',x));
%一维Glc拟随机数序列个数分布
figure
plot(1:n,x,'.k','MarkerSize',10)
xlabel('拟随机数个数');
ylabel('拟随机数数值');
%GLC拟随机数发生器,产生1个拟随机数
function [Prand]=glc(i)
x=0.0;
y=i;
z=floor(i/2);
s=bitxor(y,z);
for j=1:31
t=bitand(s,2^(j-1));
if t~=0
x=x+1/2^j;
end
end
Prand=x;
2、corput科普特序列
function Corput
b=2;
n=1000;
x=corput(n,b);
disp(sprintf('%f ',x));
figure
plot(1:n,x,'.k','MarkerSize',10)
xlabel('拟随机数个数');
ylabel('拟随机数数值');
%产生1维n个Corput拟随机数
function x=corput(n,b)
m=floor(log(n)/log(b));
n=1:n;
A=[];
for i=0:m
a=