Курсовая работа: MatLab
Чтобы ввести матрицу Дюрера просто напишите:
А = [16 3 2 13; 5 10 11 8; 967 12; 4 15 14 1]
MATLAB отобразит матрицу, которую мы ввели,
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
Если мы ввели матрицу, то она автоматически запоминается средой MATLAB. И мы можем к ней легко обратиться как к А. Сейчас, когда мы имеем А в рабочем пространстве MATLAB, посмотрим, что делает её такой интересной. Почему она называется магической?
Операции суммирования элементов, транспонирования и диагонализации матрицы
Вы возможно уже знаете, что особые свойства магического квадрата связаны с различными способами суммирования его элементов. Если вы берёте сумму элементов вдоль какой-либо строки или столбца, или вдоль какой-либо из двух главных диагоналей, вы всегда получите одно и тоже число. Давайте проверим это, используя MATLAB. Первое утверждение, которое мы проверим -
sum (А)
MATLAB выдаст ответ
ans =
34 34 34 34
Когда выходная переменная не определена, MATLAB использует переменную ans, коротко от answer - ответ, для хранения результатов вычисления. Мы подсчитали вектор-строку, содержащую сумму элементов столбцов матрицы А. Действительно, каждый столбец имеет одинаковую сумму, магическую сумму, равную 34.
А как насчет сумм в строках? Лучший способ получить сумму в строках - это транспонировать нашу матрицу, подсчитать сумму в столбцах, а потом транспонировать результат. Операция транспонирования обозначается апострофом или одинарной кавычкой. Она зеркально отображает матрицу относительно главной диагонали и меняет строки на столбцы. Таким образом
sum(A') '
вызывает результат вектор-столбец, содержащий суммы в строках
ans = 34
34
34
34
Сумму элементов на главной диагонали можно легко получить с помощью функции diag, которая выбирает эту диагональ.
diag (A)
ans = 16
10
7
1