Задайте количество входного параметра функции точки входа или Выходных аргументов, чтобы сгенерировать

Можно управлять количеством аргументов ввода или вывода в сгенерированной функции точки входа. Из одного 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 нажмите Let me enter input or global types directly.

  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. В Number of outputs выберите номер.

Похожие темы