Можно управлять количеством входных или выходных аргументов в созданной функции точки входа. С помощью одной функции 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™:
На странице Определение типов ввода (Define Input Types) щелкните Разрешить ввод типов ввода или глобальных типов непосредственно.
Добавление аргумента в таблице переменных справа от varargin, нажмите.![]()

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

При создании кода с помощью 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 или для генерации меньшего количества выходных данных, чем определяет функция:
На странице Определить типы ввода (Define Input Types) определите типы ввода вручную или с помощью команды Автоопределить типы ввода (Autodefine Input Types).
В поле Количество выходов выберите число.
