/* Mid-point version of Stratified Sampling(Mid-point LHS) */ new; cls; nn=10000; /* Up to 10000 in Light version of GAUSS */ x=U01mp(nn); library pgraph; graphset; call hist(x,29); proc U01mp(nn); local ii,U,x,i,index; /* n representative mid-point values */ ii=seqa(1,1,nn); U=(ii-0.5)/nn; /* randomize the order */ x=zeros(nn,1); i=1; do while i<=nn-1; index=ceil((nn-(i-1))*rndu(1,1)); x[i]=U[index]; if index==1; U=U[2:rows(U)]; elseif index==rows(U); U=U[1:rows(U)-1]; else; U=U[1:(index-1) (index+1):rows(U)]; endif; i=i+1; endo; x[nn]=U; retp(x); endp;