M = LATSQ(N) creates a latin square of size N-by-N containing the numbers 1 to N. N should be a positive integer. M is also known as the (backward shifted) circulant matrix of the vector 1:N.
[M, R] = LATSQ(N) also returns a randomized latin square in R.
A latin square of size N is a N-by-N matrix filled with N different numbers in such a way that each number occurs exactly once in each row and exactly once in each column. They have applications in the design of experiments.
More information: http://en.wikipedia.org/wiki/Latin_square
Example:
[M,R] = latsq(4) % ->
% M is unrandomized
% 1 2 3 4
% 2 3 4 1
% 3 4 1 2
% 4 1 2 3
% R is randomized
% 2 3 1 4
% 3 4 2 1
% 4 1 3 2
% 1 2 4 3
Note that "sort(ballatsq(N),1-2)" will return 1:N in each column-row.
See also MAGIC, GALLERY,
BALLATSQ, CIRCULANT, SLM (File Exchange)
Latest version: 1.4 (feb 2009) |