Пакет: кодер
Создайте объект coder.Type
t = coder.newtype(numeric_class, sz, variable_dims)
t = coder.newtype(numeric_class, sz, variable_dims,
Name, Value)
t = coder.newtype('constant',
value)
t = coder.newtype('struct', struct_fields, sz, variable_dims)
t = coder.newtype('cell', cells, sz, variable_dims)
t = coder.newtype('embedded.fi',
numerictype, sz, variable_dims,
Name, Value)
t = coder.newtype(enum_value, sz, variable_dims)
t = coder.newtype(class_name)
t = coder.newtype('string')
coder.newtype
является усовершенствованной функцией, которую можно использовать, чтобы управлять объектом coder.Type
. Рассмотрите использование coder.typeof
вместо этого. coder.typeof
создает тип из примера MATLAB®.
создает представление объекта t
= coder.newtype(numeric_class
, sz
, variable_dims
)coder.Type
значения класса numeric_class
с (верхней границей) размеры sz
и переменные размерности variable_dims
. Если sz
задает inf
для размерности, то размер размерности неограничен, и размерность является переменным размером. Когда variable_dims
не задан, размерности типа фиксируются за исключением тех, которые неограниченны. Когда variable_dims
является скаляром, он применяется к размерностям типа, которые не являются 1
или 0
, которые фиксируются.
создает объект t
= coder.newtype(numeric_class
, sz
, variable_dims
,
Name, Value)coder.Type
с дополнительными опциями, заданными одним или несколькими Имя, аргументы пары Значения.
создает объект t
= coder.newtype('constant',
value)coder.Constant
, представляющий одно значение. Используйте этот тип, чтобы задать значение, которое должно быть обработано как константа в сгенерированном коде.
создает объект t
= coder.newtype('struct', struct_fields
, sz
, variable_dims
)coder.StructType
для массива структур, который имеет те же поля как скалярная структура struct_fields
. Типу массива структур задали размер sz
и размерности переменного размера, заданные variable_dims
.
создает объект t
= coder.newtype('cell', cells
, sz
, variable_dims
)coder.CellType
для массива ячеек, который имеет ячейки и типы ячейки, заданные cells
. Типу массива ячеек задали размер sz
и размерности переменного размера, заданные variable_dims
. Вы не можете изменить количество ячеек или задать размерности переменного размера для неоднородного массива ячеек.
создает объект t
= coder.newtype('embedded.fi',
numerictype, sz
, variable_dims
,
Name, Value)coder.FiType
, представляющий набор значений фиксированной точки с numerictype
и дополнительными опциями, заданными одним или несколькими Имя, аргументы пары Значения.
создает объект t
= coder.newtype(enum_value
, sz
, variable_dims
)coder.Type
, представляющий набор перечислимых величин класса enum_value
.
создает объект t
= coder.newtype(class_name
)coder.ClassType
для объекта класса class_name
.
создает тип для скаляра строки. Скаляр строки содержит одну часть текста, представленного как вектор символов. Чтобы задать размер вектора символов и является ли второе измерение переменным размером, создайте тип для вектора символов и присвойте его свойству t
= coder.newtype('string')
Value
скалярного типа строки. Например, t.Properties.Value = coder.newtype('char',[1 10], [0 1])
указывает, что вектор символов в скаляре строки является переменным размером с верхней границей 10.
|
Класс множества значений представлен текстовым объектом. |
|
Скалярная структура раньше задавала поля в новом типе структуры. |
|
Массив ячеек объектов |
|
Вектор размера, задающий каждую размерность текстового объекта. Значение по умолчанию: |
|
Имя класса, от которого можно создать |
|
Логический вектор, который задает, является ли каждая размерность переменным размером (TRUE) или (FALSE) фиксированный размер. Вы не можете задать размерности переменного размера для неоднородного массива ячеек. Значение по умолчанию: |
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
|
Установите По умолчанию: false |
|
Задайте локальный Используйте только с |
|
Установите Не для использования с По умолчанию: false |
|
Новый объект |
Создайте тип для использования в генерации кода.
t=coder.newtype('double',[2 3 4],[1 1 0]) % Returns double :2x:3x4 % ':' indicates variable-size dimensions
Создайте тип для матрицы, удваивается, первая размерность неограниченное, второе измерение с фиксированным размером
coder.newtype('double',[inf,3]) % returns double:inf x 3 coder.newtype('double', [inf, 3], [1 0]) % also returns double :inf x3 % ':' indicates variable-size dimensions
Создайте тип для матрицы, удваивается, первая размерность неограниченное, второе измерение с переменным размером с верхней границей 3
coder.newtype('double', [inf,3],[0 1]) % returns double :inf x :3 % ':' indicates variable-size dimensions
Создайте тип структуры, чтобы использовать в генерации кода.
ta = coder.newtype('int8',[1 1]); tb = coder.newtype('double',[1 2],[1 1]); coder.newtype('struct',struct('a',ta,'b',tb)) % returns struct 1x1 % a: int8 1x1 % b: double :1x:2 % ':' indicates variable-size dimensions
Создайте массив ячеек, чтобы использовать в генерации кода.
ta = coder.newtype('int8',[1 1]); tb = coder.newtype('double',[1 2],[1 1]); coder.newtype('cell',{ta, tb}) % returns 1x2 heterogeneous cell % f0: 1x1 int8 % f1: :1x:2 double % ':' indicates variable-size dimensions
Создайте новый постоянный тип, чтобы использовать в генерации кода.
k = coder.newtype('constant', 42); % Returns % k = % % coder.Constant % 42
Создайте объект coder.EnumType
с помощью имени существующего перечисления MATLAB.
Задайте перечисление MyColors
. На пути MATLAB создайте файл с именем 'MyColors', содержащий:
classdef MyColors < int32 enumeration green(1), red(2), end end
Создайте объект coder.EnumType
из этого перечисления.
t = coder.newtype('MyColors');
Создайте фиксированную точку для использования в генерации кода. Фиксированная точка использует значение по умолчанию fimath значения.
t = coder.newtype('embedded.fi',... numerictype(1, 16, 15), [1 2]) t = % Returns % coder.FiType % 1x2 embedded.fi % DataTypeMode: Fixed-point: binary point scaling % Signedness: Signed % WordLength: 16 % FractionLength: 15
Создайте тип для объекта использовать в генерации кода.
Создайте этот класс значения:
classdef mySquare properties side; end methods function obj = mySquare(val) end end if nargin > 0 obj.side = val; end function a = calcarea(obj) a = obj.side * obj.side; end end end
Создайте тип для объекта, который имеет те же свойства как mySquare
.
t = coder.newtype('mySquare')
Измените тип свойства side
.
t.Properties.side = coder.typeof(int8(3))
t = coder.ClassType 1×1 mySquare side: 1×1 int8
Создайте тип для скаляра строки для использования в генерации кода.
Создайте скалярный тип строки.
t = coder.newtype('string');
Задайте размер.
t.Properties.Value = coder.newtype('char',[1, 10])
t = coder.ClassType 1×1 string -> redirected to -> coder.internal.string Value: 1×10 char
Сделайте размер строковой переменной с верхней границей 10.
t.Properties.Value = coder.newtype('char',[1, 10], [0, 1])
Сделайте размер строковой переменной без верхней границы.
t.Properties.Value = coder.newtype('char',[1, inf])
Для разреженных матриц coder.newtype
пропускает верхние границы для размерностей переменного размера.
coder.newtype
фиксирует размер одноэлементной размерности, если аргумент variable_dims
явным образом не указывает, что одноэлементная размерность имеет переменный размер.
Например, следующий код задает 1:10 дважды. Первая размерность (одноэлементная размерность) имеет фиксированный размер. Второе измерение имеет переменный размер.
t = coder.newtype('double',[1 10],1)
t = coder.newtype('double',[1 10],[1 1])
Для блока MATLAB function одноэлементные размерности сигналов ввода или вывода не могут иметь переменного размера.
codegen
| coder.ArrayType
| coder.CellType
| coder.ClassType
| coder.EnumType
| coder.FiType
| coder.PrimitiveType
| coder.StructType
| coder.Type
| coder.resize