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