Пакет: coder
Суперклассы: 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). По умолчанию: false (sz)) | sz = = Inf для |
|
Время выполнения памяти выравнивание структур этого типа в байтах. Если у вас есть Embedded Coder® лицензия и использование библиотек замещения кода (CRL), CRL обеспечивают возможность выравнивания объектов данных, переданных в функцию замещения, по заданному контуру. Эта возможность позволяет вам использовать преимущества специфичных для целевого объекта реализаций функции, которые требуют выравнивания данных. По умолчанию структура не выравнивается по определенному контуру, поэтому она не будет совпадать с функциями 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