Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
matlab_manual.rtf
Скачиваний:
21
Добавлен:
30.08.2019
Размер:
17.64 Mб
Скачать

Создание вложенных массивов при помощи функции cell

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

1. Создадим пустой массив размера 1х2

A = cell (1, 2);

2. Создадим массив ячеек размера 2х2 внутри A(1,2).

A(1,2) = {cell(2,2)};

3. Заполним массив А, используя выражения

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};

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

Вы также можете конструировать вложенные массивы ячеек непосредственно с использова-нием операторов присваивания, как это показано в шаге 3 выше.

Индексация вложенных массивов ячеек

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

  • Для доступа к массиву 5х5 ячейке (1,1) используйте A{1,1}.

  • Для доступа к массиву 3х3 в позиции (1,1) ячейки (1,2) используйте A{1,2}{1,1}.

  • Для доступа к ячейке 2х2 в ячейке (1,2) используйте A{1,2}.

  • Для доступа к пустой ячейке в позиции (2,2) ячейки (1,2) запишем A{1,2}{2,2}{1,2}.

Преобразования между массивами ячеек и числовыми массивами

Для перехода от формата массива ячеек к числовому массиву следует воспользоваться прог-раммой, включающей цикл. Например, создадим массив ячеек F:

F{1,1} = [1 2; 3 4];

F{1,2} = [–1 0; 0 1];

F{2,1} = [7 8; 4 1];

F{2,2} = [4i 3+2i; 1 – 8i 5];

Используем теперь три вложенных цикла для копирования содержимого массива F в число-вой массив NUM.

for k = 1:4

for i = 1:2

for j = 1:2

NUM(i,j,k) = F{k}(i,j);

end

end

end

Аналогично, вы должны использовать петли for для присваивания каждого значения число-вого массива одной ячейке массива ячеек:

G = cell(1,16);

for m = 1:16

G{m} = NUM(m);

end

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]