Входной Define параметр на примере при помощи приложения

Задайте входной параметр на примере

  1. На странице Define Input Types нажмите Let me enter input or global types directly.

  2. Кликните по полю справа от входного параметра, который вы хотите задать.

  3. Выберите Define by Example.

  4. В поле справа от параметра введите выражение MATLAB®. Переменная имеет класс, размер и сложность значения выражения.

    Также можно выбрать переменную из списка переменных рабочей области, который отображается.

Задайте входные параметры на примере

Этот пример показывает, как задать вектор 1-by-4 16-битных целых чисел без знака.

  1. На странице Define Input Types нажмите Let me enter input or global types directly.

  2. Кликните по полю справа от входного параметра, который вы хотите задать.

  3. Выберите Define by Example.

  4. В поле справа от параметра, введите:

    zeros(1,4,'uint16')

    Входным типом является uint16(1x4).

  5. Опционально, после того, как вы задаете входной тип, можно указать, что вход является переменным размером. Например, выберите второе измерение.

  6. Чтобы указать, что второе измерение является переменным размером с верхней границей 4, выберите :4. Также, чтобы указать, что второе измерение неограниченно, выберите :Inf.

Также можно указать, что вход является переменным размером при помощи функции coder.newtype. Введите выражение MATLAB:

coder.newtype('uint16',[1 4],[0 1])

Примечание

Чтобы указать, что вход является скаляром с двойной точностью, введите 0.

Задайте скалярный входной параметр строки на примере

Этот пример показывает, как задать скалярный тип строки путем обеспечения строки в качестве примера.

  1. На странице Define Input Types нажмите Let me enter input or global types directly.

  2. Кликните по полю справа от входного параметра, который вы хотите задать.

  3. Выберите Define by Example.

  4. В поле справа от параметра, введите:

    "mystring"

    Входной параметр является массивом строк 1 на 1 (представьте скаляр в виде строки), который содержит 1 8 вектор символов.

  5. Чтобы сделать размер строковой переменной, кликните по второму измерению.

    • Чтобы указать, что второе измерение неограниченно, выберите :Inf.

    • Чтобы указать, что второе измерение имеет верхнюю границу, введите верхнюю границу, например, 8. Затем выберите :8.

Задайте входной параметр типа структуры на примере

Этот пример показывает, как задать структуру с двумя полями, a и b. Входной тип a является скаляром дважды. Входной тип b является скалярным char.

  1. На странице Define Input Types нажмите Let me enter input or global types directly.

  2. Кликните по полю справа от входного параметра, который вы хотите задать.

  3. Выберите Define by Example.

  4. В поле справа от параметра, введите:

    struct('a', 1, 'b', 'x')
    

    Типом входного параметра является struct(1x1). Типом поля a является double(1x1). Типом поля b является char(1x1)

  5. Для массива структур, чтобы задать размер каждой размерности, кликают по размерности и задают размер. Например, войдите 4 для первой размерности.

  6. Чтобы указать, что второе измерение является переменным размером с верхней границей 4, выберите :4. Также, чтобы указать, что второе измерение неограниченно, выбирают :Inf.

Также задайте размер массива структур в вызове функции struct. Например, struct('a', { 1 2}, 'b', {'x', 'y'}) задает 1x2 массив структур с полями a и b. Типом поля a является double(1x1). Типом поля b является char(1x1).

Чтобы изменить определение типа, смотрите, Задают Входной Параметр Структуры.

Задайте входной параметр типа массива ячеек на примере

Этот пример показывает, как задать вход массива ячеек на примере. Когда вы задаете массив ячеек на примере, приложение определяет, является ли массив ячеек гомогенным или неоднородным. Смотрите Генерацию кода для Массивов ячеек. Если вы хотите управлять, является ли массив ячеек гомогенным или неоднородным, задайте массив ячеек типом. Смотрите Задают Входной Параметр Массива ячеек.

  1. На странице Define Input Types нажмите Let me enter input or global types directly.

  2. Кликните по полю справа от входного параметра, который вы хотите задать.

  3. Выберите Define by Example.

  4. В поле справа от параметра введите массив ячеек в качестве примера.

    • Если все элементы массива ячеек имеют те же свойства, массив ячеек является гомогенным. Например, введите:

      {1 2 3}
      
      Вход 1x3 массив ячеек. Типом каждого элемента является double(1x1).

      Двоеточие в изогнутом braces{:} указывает, что все элементы имеют те же свойства.

    • Если элементы массива ячеек имеют различные классы, массив ячеек неоднороден. Например, введите:

      {'a', 1}
      Вход 1x2 массив ячеек. Для неоднородного массива ячеек, списки приложений каждый элемент. Типом первого элемента является char(1x1). Типом второго элемента является double(1x1).

    • Для некоторых массивов ячеек в качестве примера. классификация как гомогенная или неоднородная неоднозначна. Для этих массивов ячеек приложение использует эвристику, чтобы определить, является ли массив ячеек гомогенным или неоднородным. Например, для массива ячеек в качестве примера, введите:

      {1 [2 3]}
      Элементы имеют тот же класс, но различные размеры. Приложение решает, что вход 1x2 неоднородный массив ячеек. Типом первого элемента является 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])
      Приложение решает, что вход 1x:3 гомогенный массив ячеек, элементы которого 1x:2 дважды.

Чтобы изменить определение типа, смотрите, Задают Входной Параметр Массива ячеек.

Задайте входной параметр перечислимого типа на примере

Этот пример показывает, как указать, что вход использует перечислимый тип MyColors.

Предположим, что MyColors.m находится на пути MATLAB.

classdef MyColors < int32
    enumeration
        green(1),
        red(2),
    end
end

Чтобы указать, что вход имеет перечислимый тип MyColors:

  1. На странице Define Input Types нажмите Let me enter input or global types directly.

  2. Кликните по полю справа от входного параметра, который вы хотите задать.

  3. Выберите Define by Example.

  4. В поле справа от параметра введите выражение 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

  1. Задайте функцию, которая берет объект класса значения как вход. Например:

    function z = getarea(r)
    %#codegen
    z = calcarea(r);
    end

  2. В MATLAB задайте объект rect_obj.

    rect_obj = myRectangle(3,4)

  3. В приложении, на странице Select Source Files, вводят getarea для функции точки входа.

  4. На странице Define Input Types нажмите Let me enter input or global types directly.

  5. Кликните по полю справа от r.

  6. Выберите Define by Example.

  7. В поле справа от r введите rect_obj или выберите его из списка переменных рабочей области. Приложение решает, что r является классом со свойствами length и width.

Также можно обеспечить объект coder.ClassType для того класса. Чтобы задать объект coder.ClassType, используйте coder.typeof. Например:

  1. В MATLAB задайте объект coder.ClassType, который имеет те же свойства как rect_obj.

    t = coder.typeof(rect_obj)

  2. В приложении обеспечьте t как пример.

Чтобы изменить размер или тип свойства, кликните по полю справа от свойства.

Когда вы генерируете код, свойства, которые вы задаете в приложении, должны быть сопоставимы со свойствами в файле определения класса. Если файл определения класса имеет свойства, которые не использует ваш код, ваше определение типа в приложении не должно включать те свойства. Генератор кода удаляет свойства, которые не использует ваш код.

Смотрите задают объекты как входные параметры в приложении MATLAB Coder.

Задайте входной параметр фиксированной точки на примере

Чтобы задать входные параметры фиксированной точки, программное обеспечение Fixed-Point Designer™ должно быть установлено.

Этот пример показывает, как задать фиксированную точку со знаком с размером слова восьми битов и дробной длиной трех битов.

  1. На странице Define Input Types нажмите Let me enter input or global types directly.

  2. Кликните по полю справа от входного параметра, который вы хотите задать.

  3. Выберите Define by Example.

  4. В поле справа от параметра, введите:

    fi(10, 1, 8, 3) 

    Приложение устанавливает тип входа u к fi(1x1). По умолчанию, если вы не задаете локальный fimath, приложение использует fimath по умолчанию. См. fimath для Совместного использования Арифметических Правил (Fixed-Point Designer).

    Опционально, измените свойства фиксированной точки или размер входа. Смотрите Задают Входной Параметр Фиксированной точки и Задают или Входной Тип Параметра Редактирования при помощи Приложения.

Задайте вход от функции точки входа Выходной тип

При генерации кода для нескольких функций точки входа можно использовать выходной тип от одной функции точки входа как входной тип к другой функции точки входа. Для получения дополнительной информации смотрите Передачу Функция Точки входа Вывод как Вход.

  1. На странице Define Input Types нажмите Let me enter input or global types directly.

  2. Кликните по полю справа от входного параметра, что вы хотите задать и выбрать Use Output.

  3. Выберите имя функции точки входа и соответствующего выходного параметра, от которого можно задать входной тип.