## Documentation Center |

Magic square

`M = magic(n)`

`M = magic(n)` returns an `n`-by-`n` matrix
constructed from the integers `1` through `n^2` with
equal row and column sums. The order n must be a scalar greater than
or equal to `3`.

The magic square of order 3 is

M = magic(3) M = 8 1 6 3 5 7 4 9 2

This is called a magic square because the sum of the elements in each column is the same.

sum(M) = 15 15 15

And the sum of the elements in each row, obtained by transposing twice, is the same.

sum(M')' = 15 15 15

This is also a special magic square because the diagonal elements have the same sum.

sum(diag(M)) = 15

The value of the characteristic sum for a magic square of order `n` is

sum(1:n^2)/n

which, when `n = 3`, is `15`.

If you supply `n` less than `3`, `magic` returns
either a nonmagic square, or else the degenerate magic squares `1` and `[]`.

Was this topic helpful?