Существует несколько способов создать массив структур («массив структур» или «массив структур»).Обратите внимание, что в массиве struct каждый элемент должен иметь одинаковые поля.Например, если s (1) имеет поля «a» и «b», то s (2) .. s (n) должно иметь поля «a» и «b».
% num rows
n = 10;
% num cols
m = 50;
% method 1, which will repeat a structure
s = struct('field1', 10, 'field2', 20);
sArray = repmat(s, n, m);
% method 2, which initializes each field to empty []
sArray(n,m) = struct('field1', [], 'field2', []);
YouМожно расширить это, чтобы выйти за пределы второго измерения:
sArray(n,m,p) = struct('field1', [], 'field2', []);
Вы также можете предварительно выделить массив и использовать цикл for для установки значения каждого поля.Дополнительно:
help deal
help structfun
Вы также можете создать массив структур ячеек, что обеспечивает большую гибкость: каждая структура в массиве ячеек может иметь разные поля.
c = cell(1,2);
c{1} = struct('a', 1, 'b', 2);
c{2} = struct('z', 0, 'q', 5);