from
fpermute
by Michal Derives a matrix of all possible permutations of natural numbers 1, 2, ... , N for a given N
p=fpermute(n)
function p=fpermute(n)
a=1;
n1=1;
for i=2:n
p=[];
n1=n1*(i-1);
for k=1:i
x=ones(n1,1)*k;
for j=1:i-1
x=[x k+a(:,j)];
end
p=[p;x];
end
p(p>i)=p(p>i)-i;
a=p;
end