MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

MATLAB

В.Г.Потемкин "Введение в Matlab" (v 5.3)
Глава 7. Массивы ячеек

  В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель

7.4. Вложенные массивы ячеек

Допускается, что ячейка может содержать массив ячеек и даже массив массивов ячеек. Массивы, составленные из таких ячеек, называются вложенными. Ячейки, которые содержат данные, отличные от массива ячеек, называются листьями, а содержащие массивы ячеек - ветвями.

Сформировать вложенные массивы ячеек можно с помощью последовательности фигурных скобок, функции cell или операторов присваивания. Для уже сформированных массивов можно получить доступ и манипулировать отдельными ячейками, подмассивами ячеек или элементами самих ячеек.

Применение фигурных скобок. Для создания вложенных массивов ячеек можно применять фигурные скобки.

Пример.

             clear A
              A(1, 1) = {magic(5)};
              A(1, 2) = {{[5 2 8; 7 3 0; 6 7 3] 'Test 1'; [2-4i 5+7i] {17 []}}}
              cellplot(A)

ris706.gif (3771 bytes)

Рис. 7.6

Заметим, что в правой части последнего оператора присваивания использовано 3 пары фигурных скобок: первая пара определяет ячейку A(1, 2) массива A, вторая задает внутренний массив ячеек размера 2х2, который, в свою очередь, содержит ячейку {17 [ ]}.

Применение функции cell. Для формирования вложенного массива ячеек с помощью функции cell выполним следующие операции:

1. Создадим пустой массив ячеек размера 1х2:
              A = cell(1, 2);

2. Создадим пустой массив ячеек A(1, 2) размера 2х2 внутри массива A:
               A(1, 2) = {cell(2, 2)};

3. Заполним массив A, включая вложенный массив, с помощью операторов присваивания:
               A(1, 1) = {magic(5)};
               A{1, 2}(1, 1) = {[5 2 8; 7 3 0; 6 7 3]};
               A{1, 2}(1, 2) = {'Test 1'};
               A{1, 2}(2, 1) = {[2-4i 5+7i]};
               A{1, 2}(2, 2) = {cell(1,2)}
               A{1, 2}{2, 2}(1) = {17};

cell 1,1
1 2 3 4 5
6 7 8 9 10
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24
cell 1,2
5 2 8
7 3 0
6 7 3

' Test '

[ 2 - 4i   5 ]

17

 

Рис. 7.7

Обратите внимание на использование фигурных скобок для последнего уровня вложенности. Это обусловлено тем, что необходимо обратиться к содержанию ячейки внутри массива ячеек.

И наконец, можно сформировать вложенные массивы ячеек простым присваиванием значений его элементам, как это сделано выше на шаге 3.

Индексирование вложенных ячеек. Для того чтобы проиндексировать вложенные ячейки, необходимо использовать объединение индексов. Первое множество индексов определяет доступ к верхнему уровню ячеек, а последующие индексные выражения, заключенные в фигурные скобки, задают доступ к низшим уровням.

Пример.
Приведенный выше массив ячеек A имеет 3 уровня вложенности:

  • для доступа к числовому массиву размера 5х5 в ячейке (1, 1) надо использовать обращение - A{1, 1};
  • для доступа к числовому массиву размера 3х3 в позиции (1, 1) ячейки (1, 2) надо использовать обращение - A{1, 2}{1, 1};
  • для доступа к элементу (2, 2) предыдущего числового массива надо использовать обращение - A{1, 2}{1, 1}(2, 2);
  • для доступа к массиву ячеек размера 2х2 в ячейке (1, 2) надо использовать обращение - A{1, 2};
  • для доступа к пустой ячейке в позиции (1, 2) ячейки (2, 2), вложенной в ячейку А(1, 2), надо использовать обращение - A{1,2}{2,2}{1,2}.

  В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель

 


Поиск по сайту:

Система Orphus

Яндекс.Метрика