image thumbnail

randpermmat(N, M)

version (1.91 KB) by Jos (10584)
Random permutation matrix


Updated 21 Feb 2018

View License

randpermmat - random permutation matrix
A = randpermmat(N) returns a square matrix where each row and each column
holds a permutation of the integers 1:N. This is also known as a random
Latin Square where each integer occurs exactly once in each row and each

A = randpermmat(N, M) returns a N-by-M matrix where each row contains N
and each column contains M unique integers selected randomly from 1:K,
where K is the largest value of N and M. Again, each value is present
at most once in each row and column.

X = randpermmat(3,5) % might return
% X = [ 2 3 1 5 4
% 3 1 5 4 2
% 1 5 4 2 3 ]
% In this example, M(=5) > N(=3), and each row is therefore a random
% permutation of all integers 1:5, and each column holds 3 unique
% values selected randomly from 1:5
% (all rows of sort(X,2) will be 1:5)

See also randperm, randi, randsample
latsq, shake, randswap (on the file Exchange)

Cite As

Jos (10584) (2021). randpermmat(N, M) (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!