Пакет: кодер
Суперклассы: coder.ArrayType
Представляйте набор массивов структур MATLAB
Задает набор массивов структур, которые должен принять сгенерированный код. Используйте только с codegen -args опция. Не передавайте как вход сгенерированной MEX-функции.
Примечание
Можно также создать и отредактировать coder.Type объекты в интерактивном режиме при помощи Редактора типов Кодера. Смотрите Создают и Входные Типы Редактирования при помощи Редактора типов Кодера.
t=coder.typeof( создает struct_v)coder.StructType объект для структуры с теми же полями как скалярная структура struct_v.
t=coder.typeof( возвращает модифицированную копию struct_v, sz, variable_dims)coder.typeof(struct_v) с (верхней границей) размер задан sz и переменные размерности variable_dims. Если sz задает inf для размерности затем размер размерности принят, чтобы быть неограниченным, и размерность принята, чтобы быть переменная измеренный. Когда sz [], (верхняя граница) размеры struct_v останьтесь неизменными. Если variable_dims входной параметр не задан, размерности типа приняты, чтобы быть зафиксированными за исключением тех, которые неограниченны. Когда variable_dims скаляр, он применяется к ограниченным размерностям, которые не являются 1 или 0 (которые приняты, чтобы быть зафиксированными).
создает t=coder.newtype('struct', struct_v, sz, variable_dims)coder.StructType объект для массива структур с теми же полями как скалярная структура struct_v и (верхняя граница) размер sz и переменные размерности variable_dims. Если sz задает inf для размерности затем размер размерности принят, чтобы быть неограниченным, и размерность принята, чтобы быть переменная измеренный. Когда variable_dims не задан, размерности типа приняты, чтобы быть зафиксированными за исключением тех, которые неограниченны. Когда variable_dims скаляр, он применяется к размерностям типа, кроме того, если размерностью является 1 или 0, который принят, чтобы быть зафиксированным.
|
Скалярная структура раньше задавала поля в новом типе структуры. |
|
Вектор размера, задающий каждую размерность текстового объекта. Значение по умолчанию: [1 1] для |
|
Логический вектор, который задает, является ли каждая размерность переменным размером (TRUE) или (FALSE) фиксированный размер. Значение по умолчанию: ложь (размер (sz)) | sz == Inf для |
|
Выравнивание памяти во время выполнения структур этого типа в байтах. Если вы имеете лицензию Embedded Coder® и пользуетесь Заменяющими Библиотеками Кода (CRLs), CRLs обеспечивают способность выровняться, объекты данных передали в заменяющую функцию заданному контуру. Эта возможность позволяет вам использовать в своих интересах целевые реализации функции, которые требуют, чтобы данные были выровнены. По умолчанию структура не выравнивается на определенном контуре, таким образом, она не будет соответствующей функциями CRL, которые требуют выравнивания.
|
|
Класс значений в этом наборе. |
|
Задан ли тип структуры внешне. |
|
Структура, дающая |
|
Если тип структуры внешне задан, имя заголовочного файла, который содержит внешнее определение структуры, например, По умолчанию сгенерированный код содержит Должен быть непустой символьный вектор или строковый скаляр. |
|
Размер верхней границы массивов в этом наборе. |
|
Вектор раньше задавал, фиксируется ли каждая размерность массива или переменный размер. Если векторным элементом является |
Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел "Копирование объектов".
Создайте тип для структуры с полем переменного размера.
x.a = coder.typeof(0,[3 5],1); x.b = magic(3); coder.typeof(x) % Returns % coder.StructType % 1x1 struct % a: :3x:5 double % b: 3x3 double % ':' indicates variable-size dimensions
Создайте coder.StructType возразите затем вызывают codegen сгенерировать библиотеку C для функционального fcn.m это имеет входной параметр того этого типа
Создайте новый тип структуры.
ta = coder.newtype('int8',[1 1]);
tb = coder.newtype('double',[1 2],[1 1]);
z = coder.newtype('struct',struct('a',ta,'b',tb))
% Returns
% coder.StructType
% 1x1 struct
% a: 1x1 int8
% b: :1x:2 double Вызвать codegen сгенерировать библиотеку C для функции MATLAB fcn.m это имеет входной параметр того этого типа.
% Use the -config:lib option to generate a C library
codegen -config:lib fcn -args {z}
Создайте coder.StructType возразите, что использует внешне заданный тип структуры.
Создайте тип, который использует внешне заданный тип структуры.
S.a = coder.typeof(double(0)); S.b = coder.typeof(single(0)); T = coder.typeof(S); T = coder.cstructname(T,'mytype','extern','HeaderFile','myheader.h');
T =
coder.StructType
1x1 extern mytype (myheader.h) struct
a: 1x1 double
b: 1x1 singleПросмотрите типы полей структуры.
T.Fields
ans =
a: [1x1 coder.PrimitiveType]
b: [1x1 coder.PrimitiveType]codegen | coder | coder.ArrayType | coder.ClassType | coder.Constant | coder.cstructname | coder.EnumType | coder.FiType | coder.newtype | coder.PrimitiveType | coder.resize | coder.Type | coder.typeof