Массив структур
Массив структур является типом данных, который группирует связанные данные с помощью контейнеров данных, называемых полями. Каждое поле может содержать данные любого типа. Доступ к данным в поле с помощью записи через точку формы structName.fieldName
.
Когда у вас будут данные, чтобы поместить в новую структуру, создайте структуру с помощью записи через точку, чтобы назвать ее поля по одному:
s.a = 1; s.b = {'A','B','C'}
s = struct with fields:
a: 1
b: {'A' 'B' 'C'}
Можно также создать массив структур с помощью struct
функция, описанная ниже. Можно задать много полей одновременно или создать нескалярный массив структур.
s = struct
создает скаляр (1 на 1) структуру без полей.
s = struct(
создает массив структур с заданными полем и значением. The 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
. The struct
функция не преобразует obj
, а скорее создает s
как новая структура. Эта структура не сохраняет информацию о классе, поэтому частные, защищенные и скрытые свойства становятся общими полями в s
. The struct
функция выдает предупреждение при использовании этого синтаксиса.
cell2struct
| fieldnames
| isfield
| isstruct
| orderfields
| rmfield
| struct2cell
| struct2table
| substruct
| table
| table2struct