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

Можно управлять количеством аргументов ввода или вывода в сгенерированной функции точки входа. От одной функции 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.

fiaccel myops -args {fi(3, 1, 16, 13)} -report

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

fiaccel myops -args {fi(3, 1, 16, 13)} -report

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

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

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

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

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

fiaccel myops -args {fi(3, 1, 16, 13) fi(3, 1, 16, 13)} -nargout 1 -report

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

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

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

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

fiaccel myops -args {fi(3, 1, 16, 13) fi(3, 1, 16, 13)} -nargout 1 -report

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте