На странице 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)
.
Двоеточие внутри фигурных скобок {:}
указывает, что все элементы имеют одинаковые свойства.
Если элементы массива ячеек имеют различные классы, массив ячеек неоднороден. Для примера введите:
{'a', 1}
char(1x1)
. Тип второго элемента double(1x1)
.
Для некоторых примеров массивов ячеек. классификация как однородная или неоднородная неоднозначна. Для этих массивов ячеек приложение использует эвристику, чтобы определить, является ли массив ячеек однородным или неоднородным. Например, для примера массива ячеек введите:
{1 [2 3]}
double(1x1)
. Тип второго элемента double(1x2)
.
Однако пример массива ячеек, {1 [2 3]}
, может также быть однородным массивом ячеек, элементы которого являются 1x: 2 double. Если вы хотите, чтобы этот массив ячеек был однородным, выполните одно из следующих действий:
Укажите входной параметр массива ячеек по типам. Задайте, что вход является однородным массивом ячеек. Задайте, что элементы 1x: 2 double. См. «Задание входного параметра массива ячеек».
Щелкните правой кнопкой мыши переменную. Выберите Homogeneous. Задайте, что элементы 1x: 2 double.
Если вы используете 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).
Вы можете изменить свойства с фиксированной точкой или размер входа. Смотрите Specify a Fixed-Point Входа Parameter и Задайте или Редактируйте Вход Parameter Type при помощи приложения.
При генерации кода для нескольких функций точки входа можно использовать тип выхода из одной функции точки входа в качестве входного типа в другую функцию точки входа. Для получения дополнительной информации смотрите Передайте выход функции точки входа как вход.
На странице Define Input Types нажмите Let me enter input or global types directly.
Щелкните поле справа от входного параметра, который вы хотите задать, и выберите Use Output.
Выберите имя функции точки входа и соответствующий выходной параметр, из которого можно задать входной тип.
Приложение MATLAB Coder™ не поддерживается в MATLAB Online™.