function X=rvperm(N, n, M, seed) % rvperm(N, n, M, seed) Generates a matrix in which each row contains n % permutations of N, with a total of M rows. seed is % the seed for the random number generator. if n>N error('n > N') end range=[1:N]; rand('seed', seed); X=zeros(M, n); for trial=1:M, for pick=1:n, flag=0; while flag==0 flag=1; pindex=round(rand*length(range)+0.5); if pindex>length(range) pindex=length(range); end for check=1:pick-1, if X(trial, check)==range(pindex) flag=0; end end end X(trial, pick)=range(pindex); end end