На странице Define Input Types нажмите Let me enter input or global types directly.
Кликните по полю справа от входного параметра, который вы хотите задать.
Выберите Define by Example.
В поле справа от параметра введите MATLAB® выражение. Переменная имеет класс, размер и сложность значения выражения.
В качестве альтернативы можно выбрать переменную из списка переменных рабочей области, который отображается.
В этом примере показано, как задать 1-by-4
вектор из 16-битных целых чисел без знака.
На странице Define Input Types нажмите Let me enter input or global types directly.
Кликните по полю справа от входного параметра, который вы хотите задать.
Выберите Define by Example.
В поле справа от параметра, введите:
zeros(1,4,'uint16')
Входным типом является uint16(1x4)
.
Опционально, после того, как вы задаете входной тип, можно указать, что вход является переменным размером. Например, выберите второе измерение.
Указывать, что второе измерение является переменным размером с верхней границей 4
, выберите :4
. В качестве альтернативы, чтобы указать, что второе измерение неограниченно, выберите :Inf
.
В качестве альтернативы можно указать, что вход является переменным размером при помощи coder.newtype
функция. Введите выражение MATLAB:
coder.newtype('uint16',[1 4],[0 1])
Примечание
Чтобы указать, что вход является скаляром с двойной точностью, введите 0
.
В этом примере показано, как указать, что строковый скаляр вводит путем обеспечения строки в качестве примера.
На странице Define Input Types нажмите Let me enter input or global types directly.
Кликните по полю справа от входного параметра, который вы хотите задать.
Выберите Define by Example.
В поле справа от параметра, введите:
"mystring"
Входной параметр является массивом строк 1 на 1 (строковый скаляр), который содержит 1 8 вектор символов.
Чтобы сделать размер строковой переменной, кликните по второму измерению.
Чтобы указать, что второе измерение неограниченно, выберите :Inf
.
Чтобы указать, что второе измерение имеет верхнюю границу, введите верхнюю границу, например, 8
. Затем выберите :8
.
В этом примере показано, как задать структуру с двумя полями, a
и b
. Входной тип a
скаляр дважды. Входной тип b
скалярный char.
На странице Define Input Types нажмите Let me enter input or global types directly.
Кликните по полю справа от входного параметра, который вы хотите задать.
Выберите Define by Example.
В поле справа от параметра, введите:
struct('a', 1, 'b', 'x')
Типом входного параметра является struct(1x1)
. Тип поля a
double(1x1)
. Тип поля b
char(1x1)
Для массива структур, чтобы задать размер каждой размерности, кликают по размерности и задают размер. Например, войдите 4 для первой размерности.
Указывать, что второе измерение является переменным размером с верхней границей 4
, выберите :4
. В качестве альтернативы, чтобы указать, что второе измерение неограниченно, выбирают :Inf
.
В качестве альтернативы задайте размер массива структур в struct
вызов функции. Например, struct('a', { 1 2}, 'b', {'x', 'y'})
задает 1x2 массив структур с полями a
и b
. Тип поля a
double(1x1)
. Тип поля b
char(1x1)
.
Чтобы изменить определение типа, смотрите, Задают Входной Параметр Структуры.
В этом примере показано, как задать вход массива ячеек на примере. Когда вы задаете массив ячеек на примере, приложение определяет, является ли массив ячеек гомогенным или неоднородным. Смотрите Генерацию кода для Массивов ячеек. Если вы хотите управлять, является ли массив ячеек гомогенным или неоднородным, задайте массив ячеек типом. Смотрите Задают Входной Параметр Массива ячеек.
На странице Define Input Types нажмите Let me enter input or global types directly.
Кликните по полю справа от входного параметра, который вы хотите задать.
Выберите Define by Example.
В поле справа от параметра введите массив ячеек в качестве примера.
Если все элементы массива ячеек имеют те же свойства, массив ячеек является гомогенным. Например, введите:
{1 2 3}
double(1x1)
.
Двоеточие в изогнутом braces{:}
указывает, что все элементы имеют те же свойства.
Если элементы массива ячеек имеют различные классы, массив ячеек неоднороден. Например, введите:
{'a', 1}
char(1x1)
. Типом второго элемента является double(1x1)
.
Для некоторых массивов ячеек в качестве примера. классификация как гомогенная или неоднородная неоднозначна. Для этих массивов ячеек приложение использует эвристику, чтобы определить, является ли массив ячеек гомогенным или неоднородным. Например, для массива ячеек в качестве примера, введите:
{1 [2 3]}
double(1x1)
. Типом второго элемента является double(1x2)
.
Однако массив ячеек в качестве примера, {1 [2 3]}
, может также быть гомогенный массив ячеек, элементы которого 1x:2 дважды. Если вы хотите, чтобы этот массив ячеек был гомогенным, выполнить одно из следующих действий:
Задайте массив ячеек, введенный типом. Укажите, что вход является гомогенным массивом ячеек. Укажите, что элементы 1x:2 дважды. Смотрите Задают Входной Параметр Массива ячеек.
Щелкните правой кнопкой по переменной. Выберите Homogeneous. Укажите, что элементы 1x:2 дважды.
Если вы используете coder.typeof
чтобы указать, что массив ячеек в качестве примера является переменным размером, приложение делает массив ячеек гомогенным. Например, для входа в качестве примера, введите:
coder.typeof({1 [2 3]}, [1 3], [0 1])
Чтобы изменить определение типа, смотрите, Задают Входной Параметр Массива ячеек.
В этом примере показано, как указать, что вход использует перечислимый тип MyColors
.
Предположим тот MyColors.m
находится на пути MATLAB.
classdef MyColors < int32 enumeration green(1), red(2), end end
Указывать, что вход имеет перечислимый тип MyColors
:
На странице Define Input Types нажмите Let me enter input or global types directly.
Кликните по полю справа от входного параметра, который вы хотите задать.
Выберите Define by Example.
В поле справа от параметра введите выражение MATLAB:
MyColors.red
В этом примере показано, как задать тип для объекта класса значения myRectangle
.
classdef myRectangle properties length; width; end methods function obj = myRectangle(l,w) if nargin > 0 obj.length = l; obj.width = w; end end function area = calcarea(obj) area = obj.length * obj.width; end end end
Задайте функцию, которая берет объект класса значения как вход. Например:
function z = getarea(r) %#codegen z = calcarea(r); end
В MATLAB задайте объект rect_obj
.
rect_obj = myRectangle(3,4)
В приложении, на странице Select Source Files, вводят getarea
для функции точки входа.
На странице Define Input Types нажмите Let me enter input or global types directly.
Кликните по полю справа от r
.
Выберите Define by Example.
В поле справа от r
, введите rect_obj
или выберите его из списка переменных рабочей области. Приложение определяет тот r
класс со свойствами length
и width
.
В качестве альтернативы можно обеспечить coder.ClassType
объект для того класса. Задавать coder.ClassType
объект, использовать coder.typeof
. Например:
В MATLAB задайте coder.ClassType
объект, который имеет те же свойства как rect_obj
.
t = coder.typeof(rect_obj)
В приложении обеспечьте t
как пример.
Чтобы изменить размер или тип свойства, кликните по полю справа от свойства.
Когда вы генерируете код, свойства, которые вы задаете в приложении, должны быть сопоставимы со свойствами в файле определения класса. Если файл определения класса имеет свойства, которые не использует ваш код, ваше определение типа в приложении не должно включать те свойства. Генератор кода удаляет свойства, которые не использует ваш код.
Смотрите задают объекты как входные параметры в приложении MATLAB Coder.
Чтобы задать входные параметры фиксированной точки, программное обеспечение Fixed-Point Designer™ должно быть установлено.
В этом примере показано, как задать фиксированную точку со знаком с размером слова восьми битов и дробной длиной трех битов.
На странице Define Input Types нажмите Let me enter input or global types directly.
Кликните по полю справа от входного параметра, который вы хотите задать.
Выберите Define by Example.
В поле справа от параметра, введите:
fi(10, 1, 8, 3)
Приложение устанавливает тип входа u
к fi(1x1)
. По умолчанию, если вы не задаете локальный fimath
, приложение использует fimath
по умолчанию. См. fimath для Совместного использования Арифметических Правил (Fixed-Point Designer).
Опционально, измените свойства фиксированной точки или размер входа. Смотрите Задают Входной Параметр Фиксированной точки и Задают или Входной Тип Параметра Редактирования при помощи Приложения.
При генерации кода для нескольких функций точки входа можно использовать выходной тип от одной функции точки входа как входной тип к другой функции точки входа. Для получения дополнительной информации смотрите Передачу Функция Точки входа Выход как Вход.
На странице Define Input Types нажмите Let me enter input or global types directly.
Кликните по полю справа от входного параметра, что вы хотите задать и выбрать Use Output.
Выберите имя функции точки входа и соответствующего выходного параметра, от которого можно задать входной тип.
Приложение MATLAB Coder™ не поддерживается в MATLAB Online™.