magic

Магический квадрат

Синтаксис

Описание

пример

M = magic(n) возвращает n- n матрица создала из целых чисел 1 через n2 с равными суммами строки и столбца. Порядок n должен быть скаляр, больше, чем или равный 3 для того, чтобы создать допустимый магический квадрат.

Примеры

свернуть все

Вычислите магический квадрат M третьего порядка.

M = magic(3)
M = 3×3

     8     1     6
     3     5     7
     4     9     2

Сумма элементов в каждом столбце и сумма элементов в каждой строке являются тем же самым.

sum(M)
ans = 1×3

    15    15    15

sum(M,2)
ans = 3×1

    15
    15
    15

Визуально исследуйте шаблоны в матрицах магического квадрата с порядками между 9 и 24 использованиями imagesc. Шаблоны показывают тот magic использование три различных алгоритма, в зависимости от ли значение mod(n,4) 0, 2, или нечетный.

for n = 1:16
    subplot(4,4,n)
    ord = n+8;
    m = magic(ord);
    imagesc(m)
    title(num2str(ord))
    axis equal
    axis off
end

Figure contains 16 axes. Axes 1 with title 9 contains an object of type image. Axes 2 with title 10 contains an object of type image. Axes 3 with title 11 contains an object of type image. Axes 4 with title 12 contains an object of type image. Axes 5 with title 13 contains an object of type image. Axes 6 with title 14 contains an object of type image. Axes 7 with title 15 contains an object of type image. Axes 8 with title 16 contains an object of type image. Axes 9 with title 17 contains an object of type image. Axes 10 with title 18 contains an object of type image. Axes 11 with title 19 contains an object of type image. Axes 12 with title 20 contains an object of type image. Axes 13 with title 21 contains an object of type image. Axes 14 with title 22 contains an object of type image. Axes 15 with title 23 contains an object of type image. Axes 16 with title 24 contains an object of type image.

Входные параметры

свернуть все

Матричный порядок в виде скалярного целого числа, больше, чем или равный 3. Если n является комплексным, не целое число, или не скаляр, затем magic преобразует его в применимое целое число с floor(real(double(n(1)))).

Если вы предоставляете n меньше, чем 3, затем magic возвращает или неволшебный квадрат или вырожденные магические квадраты 1 и [].

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char

Расширенные возможности

Смотрите также

|

Представлено до R2006a