Объединение малых матриц в большую. Удаление столбцов и строк матриц.
Описанный способ задания матриц позволяет выполнить операцию конкатенации – объединения малых матриц в большую. Например, создадим вначале магическую матрицу размера 3x3:
>> A=magic(3) A=8 1 63 5 74 9 2Теперь можно построить матрицу, содержащую четыре матрицы:
>> B-[A A+16:A+32 A+16] B =8 1 6 24 17 223 5 7 19 21 234 9 2 20 25 1840 33 38 24 17 2235 37 39 19 21 2336 41 34 20 25 18Полученная матрица имеет уже размер 6x6. Вычислим сумму ее столбцов:
>> sum(B) ans =126 126 126 126 126 126Любопытно, что она одинакова для всех столбцов. А для вычисления суммы используем команду:
>> sum(B.') ans =78 78 78 174 174 174Здесь запись В.' означает транспонирование матрицы В, т. е. замену строк столбцами. На этот раз сумма оказалась разной. Это отвергает изначально возникшее предположение, что матрица В тоже является магической. Для истинно магической матрицы суммы столбцов и строк должны быть одинаковыми:
>> D=magic(6) D=35 1 6 26 19 243 32 7 21 23 2531 9 2 22 27 208 28 33 17 10 1530 5 34 12 14 164 36 29 13 18 11>> sum(D) ans=111 111 111 111 111 111>> sum(D.') ans=111 111 111 111 111 111Более того, для магической матрицы одинаковой является и сумма элементов по основным диагоналям (главной диагонали и главной антидиагонали).
Удаление столбцов и строк матриц
Для формирования матриц и выполнения ряда матричных операций возникает необходимость удаления отдельных столбцов и строк матрицы. Для этого используются пустые квадратные скобки [ ]. Проделаем это с матрицей М:
>> M=[1 2 3; 4 5 6; 7 8 9] M =1 2 34 5 67 8 9Удалим второй столбец используя оператор: (двоеточие):
>> M(:.2)=[ ] 1 34 67 9А теперь, используя оператор: (двоеточие), удалим вторую строку:
>> M(2.:)=[ ] M =1 37 9