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