И другие программы этой серии
Этот прием нетрудно распространить на страницы и вообще размерности многомерного массива. Например, первую страницу полученного массива M можно удалить следующим образом:
>> M(:,:,1)=[ ] M =
10 11 12
13 14 15
16 17 18
Нетрудно заметить, что в этом массиве осталась только вторая страница и что размерность массива уменьшилась на 1 – он стал двумерным.
5.4.4. Доступ к отдельному элементу многомерного массива
Чтобы вызвать средний элемент сначала первой, а затем второй страницы, надо записать следующее:
>> M(2,2,1) ans = 5 >> M(2,2,2) ans = 14
Таким образом, в многомерных массивах используется то же правило индексации, что и в одномерных и двумерных. Произвольный элемент, например, трехмерного массива, задается как M(i,j,k), где i – номер строки, j – номер столбца и k – номер страницы. Этот элемент можно вывести, а можно присвоить ему заданное значение x: M(i,j,k)=x.
5.4.5. Создание страниц, заполненных константами и случайными числами
Если после знака присваивания стоит численная константа, то соответствующая часть массива будет содержать элементы, содержащие данную константу. Например, создадим из массива M (см. пример выше) массив, у которого вторая страница содержит единицы:
>> M(:,:,2)=1 M(:,:,1) =
10 11 12
13 14 15
16 17 18
M(:,:,2) =
111
111
111
А теперь заменим первую страницу массива на страницу с нулевыми элементами:
>> M(:,:,1)=0 M(:,:,1) =
000
000
000 M(:,:,2) =
111
111
111
5.4.6. Функции ones, zeros, rand и randn
Функции ones (создание массивов с единичными элементами), zeros (создание массивов с нулевыми элементами) и rand или randn (создание массивов с элементами – случайными числами с равномерным и нормальным распределением) могут также использоваться для создания многомерных массивов. Примеры приводятся ниже:
>> E=ones(3,3,2) E(:,:,1) =
111
111
111 E(:,:,2) =
111
111
111
260
Типы данных – массивы специального вида
Многомерные массивы
261
» Z=zeros(2,2,3)
Z(:,:,1) =
00
00
Z(:,:,2) =
00
00
Z(:,:,3) =
00
00
» R=randn(3,2,2)
R(:,:,1) =
-1.6656
-1.1465
0.1253
1.1909
0.2877
1.1892
R(:,:,2) =
-0.0376
-0.1867
0.3273
0.7258
0.1746
-0.5883
Эти примеры достаточно очевидны и не требуют особых комментариев.
Начало в части 1