Входной 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. Выберите имя функции точки входа и соответствующего выходного параметра, от которого можно задать входной тип.

Приложение MATLAB Coder™ не поддерживается в MATLAB Online™.