Пакет: кодер
Создайте объект 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 одноэлементные размерности сигналов ввода или вывода не могут иметь переменного размера.
coder.ArrayType | coder.CellType | coder.EnumType | coder.FiType | coder.PrimitiveType | coder.StructType | coder.Type | coder.resize | fiaccel