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?