Массивы ячеек, содержащие структуры
End
End
End
End
Преобразования между массивами ячеек и числовыми массивами
Для перехода от формата массива ячеек к числовому массиву следует воспользоваться прог-раммой, включающей цикл. Например, создадим массив ячеек 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);
Аналогично, вы должны использовать петли for для присваивания каждого значения число-вого массива одной ячейке массива ячеек:
G = cell(1,16);
for m = 1:16
G{m} = NUM(m);
Для хранения групп структур с различной архитектурой полей можно использовать массивы ячеек
c_str = cell(1,2);
c_str{1}.label = '12/2/94 – 12/5/94';
c_str{1}.obs = [47 52 55 48; 17 22 35 11];
c_str{2}.xdata = [–0.03 0.41 1.98 2.12 17.11];
c_str{2}.ydata = [–3 5 18 0 9];
c_str{2}.zdata = [0.6 0.8 1 2.2 3.4];
Ячейка l массива c_str содержит структуру с двумя полями, где в одном поле хранится стро-ка символов, а во втором - вектор. Ячейка 2 содержит структуру с тремя полями векторов.
При создании массивов ячеек, содержащих структуры, вы должны применить индексирова-ние фигурными скобками. Аналогично, вы должны применить фигурные скобки для получе-ния структур, содержащихся внутри ячеек. Общий синтаксис при этом имеет вид:
cell_array{index}.field
Например, чтобы получить содержимое поля label структуры в ячейке 1 нужно записать
c_str{1}.label