Понятие о многомерных массивах. Применение оператора в многомерных массивах.
В этом уроке мы коснемся вопросов, связанных с более сложными типами данных, к которым относятся многомерные массивы.
В MATLAB двумерный массив является частным случаем многомерного массива. Многомерные массивы характеризуются размерностью более двух. Таким массивам можно дать наглядную интерпретацию. Так, матрицу (двумерный массив) можно записать на одном листе бумаги в виде строк и столбцов, состоящих из элементов матрицы. Тогда блокнот с такими листками можно считать трехмерным массивом, полку в шкафу с блокнотами – четырехмерным массивом, шкаф со множеством полок – пятимерным массивом и т. д. В этой книге практически нигде, кроме этого раздела, мы не будем иметь дело с массивами, размерность которых выше двух, но знать о возможностях MATLAB в части задания и применения многомерных массивов все же полезно.
В нашей литературе понятия "размер" и "размерность" массивов являются почти синонимами. Однако они имеют явно разный смысл в данной книге, как и в документации и литературе по системе MATLAB. Под размерностью массивов понимается число измерений в пространственном представлении массивов, а под размером – число строк и столбцов (mxn) в каждой размерности массива.
Применение оператора: в многомерных массивах
При обычном задании массивов (с помощью символа точки с запятой ";") число рядов (строк) массива получается на 1 больше, чем число символов ":", но массив остается двумерным. Оператор ":" (двоеточие) позволяет легко выполнять операции по увеличению размерности массивов. Приведем пример формирования трехмерного массива путем добавления новой страницы. Пусть у нас задан исходный двумерный массив М размером 3x3:
>
>
M
=
[
1
2
3
;
4
5
6
;
7
8
9
]
M
=
1
2
3
4
5
6
7
8
9
Для добавления новой страницы с тем же размером можно расширить М следующим образом:
>
>
M(:.:.
2
)
=
[
10
11
12
;
13
14
15
;
16
17
18
]
M(:.:.
1
)
=
1
2
3
4
5
6
7
8
9
M(:.:.
2
)
=
10
11
12
13
14
15
16
17
18
Посмотрим, что теперь содержит массив М при явном его указании:
>
>
M
M(:,:.
1
)
=
1
2
3
4
5
6
7
8
9
M(:.:.
2
)
=
10
11
12
13
14
15
16
17
18
Как можно заметить, числа в выражениях М(:.:, 1) и М(:,:,2) означают номер страницы.