Объединение малых матриц в большую
Объединение малых матриц в большую
Описанный способ задания матриц позволяет выполнить операцию
конкатенации —
объединения малых матриц в большую. Например, создадим вначале магическую матрицу размера 3x3:
» A=magic(3)
А=
8 |
1 |
6 |
||
3 |
5 |
7 |
||
4 |
9 |
2 |
||
Теперь можно построить матрицу, содержащую четыре матрицы:
» В-[А А+16:А+32 А+16]
В =
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
Более того, для магической матрицы одинаковой является и сумма элементов по основным диагоналям (главной диагонали и главной антидиагонали).