Иллюстрированный самоучитель по MatLab

Объединение малых матриц в большую. Удаление столбцов и строк матриц.

Описанный способ задания матриц позволяет выполнить операцию конкатенации – объединения малых матриц в большую. Например, создадим вначале магическую матрицу размера 3x3:

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

Теперь можно построить матрицу, содержащую четыре матрицы:

>> B-[A A+16:A+32 A+16]
B =
8 1 6 24 17 22
3 5 7 19 21 23
4 9 2 20 25 18
40 33 38 24 17 22
35 37 39 19 21 23
36 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 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 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 3
4 5 6
7 8 9

Удалим второй столбец используя оператор: (двоеточие):

>> M(:.2)=[ ]
1 3
4 6
7 9

А теперь, используя оператор: (двоеточие), удалим вторую строку:

>> M(2.:)=[ ]
M =
1 3
7 9
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.