Массив структур
Массив структур является типом данных, что связанные с группами данные с помощью контейнеров данных вызвали поля. Каждое поле может содержать любой тип данных. Данные о доступе в поле с помощью записи через точку формы structName.fieldName.
Когда у вас будут данные, чтобы поместить в новую структуру, создайте структуру с помощью записи через точку, чтобы назвать ее поля по одному:
s.a = 1;
s.b = {'A','B','C'}s = struct with fields:
a: 1
b: {'A' 'B' 'C'}
Также можно создать массив структур с помощью функции struct, описанной ниже. Можно задать много полей одновременно или создать нескалярный массив структур.
s = structs = struct(field,value)s = struct(field1,value1,...,fieldN,valueN)s = struct([])s = struct(obj)s = struct создает скалярную структуру (1 на 1) без полей.
s = struct( создает массив структур с заданным полем и значением. Входной параметр field,value)value может быть любым типом данных, такой как числовое, логическое, символ или массив ячеек.
Если value не является массивом ячеек, или если value является скалярным массивом ячеек, то s является скалярной структурой. Например, s = struct('a',[1 2 3]) создает структуру 1 на 1, где s.a = [1 2 3].
Если value является нескалярным массивом ячеек, то s является массивом структур с теми же размерностями как value. Каждый элемент s содержит соответствующий элемент value. Например, s = struct('x',{'a','b'}) возвращает s(1).x = 'a' и s(2).x = 'b'.
Если value является массивом пустой ячейки {}, то s является пустой структурой (0 на 0).
s = struct(field1,value1,...,fieldN,valueN) создает массив структур с несколькими полями.
Если ни одни из входных параметров value не массивы ячеек, или если все входные параметры value, которые являются массивами ячеек, являются скалярами, то s является скалярной структурой.
Если какие-либо из входных параметров value являются нескалярным массивом ячеек, то s имеет те же размерности как тот массив ячеек. Кроме того, если два или больше входных параметров value являются нескалярными массивами ячеек, то у них всех должны быть те же размерности.
Для любого value, который является скалярным массивом ячеек или массивом любого другого типа данных, struct вставляет содержимое value в соответствующем поле для всех элементов s. Например, s = struct('x',{'a','b'},'y','c') возвращает s(1).x = 'a', s(2).x = 'b', s(1).y = 'c' и s(2).y = 'c'.
Если какой-либо вход value является массивом пустой ячейки, {}, то вывод s является пустой структурой (0 на 0). Чтобы задать пустое поле и сохранить значения других полей, используйте [] в качестве входа value вместо этого.
s = struct([]) создает пустую структуру (0 на 0) без полей.
s = struct( создает скалярную структуру с именами полей и значениями, которые соответствуют свойствам obj)obj. Функция struct не преобразовывает obj, а скорее создает s как новую структуру. Эта структура не сохраняет информацию о классе, таким образом частные, защищенные, и скрытые свойства становятся достоянием общественности поля в s. Функция struct выдает предупреждение, когда вы используете этот синтаксис.
cell2struct | fieldnames | isfield | isstruct | orderfields | rmfield | struct2cell | struct2table | substruct | table | table2struct