MATLAB: How to use randperm to produce a completely new sequence (no numbers in same place)

MATLABrandom number generator

Is there a way to permute numbers with randperm and get a completely new permutation every time?
For example,
randperm(5)
to generate multiple rows of 5 numbers, none of which have the same number in the same column?
For example:
4 2 5 1 3
and
3 4 1 2 5
NOT
4 2 5 1 3
and
3 2 4 5 1
which have the different sequences, but the 2 is in the same location.

Best Answer

Thanks Bruno! Now I see the limitations and the connection to the derangement.
Next approach:
a = mod(bsxfun(@plus, 0:4, transpose(0:4)), 5) + 1;
b = a(randperm(5), :);
b = b(:, randperm(5))
Or simpler:
b = mod(bsxfun(@plus, randperm(5), transpose(randperm(5))), 5) + 1;
Does this now reduce the correlation between neighboring elements to the minimum considering the OPs demands? Jan