x(1)=0.27;
q=0.3;
for i=2:65736;
if x(i-1)>=0 & x(i-1)<q
x(i)=(x(i-1)/q);
elseif x(i-1)>=q & x(i-1)<=0.5
x(i)=(x(i-1)-q)/(0.5-q);
else
x(i)=(1-x(i-1));
end
end
N=201;
X=[x(N:end)];
L=65536;
flag=zeros(1,L);
T = num2cell(randperm(65536, 65536));
T=flag;
for i=1:65536;
j(i)=mod(floor(X(i)*10^15),L)+1;
if (j==i)|(flag(j)==1)
j(i)=mod(floor(X(i)*10^15),L)+1;
else
flag(j)=1; T=j;
end
end
is it ok..?