exponenta event banner

Укажите количество входных или выходных аргументов функции точки входа для генерации

Можно управлять количеством входных или выходных аргументов в созданной функции точки входа. С помощью одной функции MATLAB ® можно создавать функции точек входа с различными сигнатурами.

Контрольное число входных аргументов

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

Рассмотрим эту функцию:

function [x, y] = myops(varargin)
%#codegen
if (nargin > 1)
    x = varargin{1} + varargin{2};
    y = varargin{1} * varargin{2};
else
    x = varargin{1};
    y = -varargin{1};
end

Чтобы создать функцию, которая принимает только один аргумент, укажите один аргумент с -args.

codegen myops -args {3} -report

При использовании приложения MATLAB Coder™:

  1. На странице Определение типов ввода (Define Input Types) щелкните Разрешить ввод типов ввода или глобальных типов непосредственно.

  2. Добавление аргумента в таблице переменных справа от varargin, нажмите.

  3. Укажите свойства для каждого аргумента.

При создании кода с помощью codegen, можно также управлять количеством входных аргументов, если функция MATLAB не используется varargin.

Рассмотрим эту функцию:

function [x, y] = myops(a,b)
%#codegen
if (nargin > 1)
    x = a + b;
    y = a * b;
else
    x = a;
    y = -a;
end

Чтобы создать функцию, которая принимает только один аргумент, укажите один аргумент с -args.

codegen myops -args {3} -report

Управление количеством выходных аргументов

При создании кода с помощью codegen, можно указать количество выходных аргументов с помощью -nargout вариант.

Рассмотрим эту функцию:

function [x, y] = myops(a,b)
%#codegen
x = a + b;
y = a * b;
end

Создайте функцию, имеющую один выходной аргумент.

codegen myops -args {2 3} -nargout 1 -report

Также можно использовать -nargout для указания количества выходных аргументов для функции точки входа, которая использует varargout.

Переписать myops использовать varargout.

function varargout = myops(a,b)
%#codegen
varargout{1} = a + b;
varargout{2} = a * b;
end

Создайте код для одного выходного аргумента.

codegen myops -args {2 3} -nargout 1 -report

При использовании приложения MATLAB Coder укажите количество выходов при возврате функции varargout или для генерации меньшего количества выходных данных, чем определяет функция:

  1. На странице Определить типы ввода (Define Input Types) определите типы ввода вручную или с помощью команды Автоопределить типы ввода (Autodefine Input Types).

  2. В поле Количество выходов выберите число.

Связанные темы