В этом примере показано, как определить функцию, которая принимает переменное число входных аргументов с помощью varargin. varargin аргумент - это массив ячеек, содержащий входы функций, где каждый вход находится в собственной ячейке.
Создание функции в файле с именем plotWithTitle.m который принимает переменное количество парных (x, y) входов для plot функция и необязательный заголовок. Если функция получает нечетное количество входов, она предполагает, что последний вход является заголовком.
function plotWithTitle(varargin) if rem(nargin,2) ~= 0 myTitle = varargin{nargin}; numPlotInputs = nargin - 1; else myTitle = 'Default Title'; numPlotInputs = nargin; end plot(varargin{1:numPlotInputs}) title(myTitle)
Поскольку varargin является массивом ячеек, доступ к содержимому каждой ячейки осуществляется с помощью фигурных скобок, {}. Синтаксис varargin{1:numPlotInputs} создает разделенный запятыми список входных данных для plot функция.
Звонить plotWithTitle с двумя наборами (x, y) входов и заголовком.
x = [1:.1:10];
y1 = sin(x);
y2 = cos(x);
plotWithTitle(x,y1,x,y2,'Sine and Cosine')Вы можете использовать varargin только в списке входных аргументов или в конце списка входных данных, например
function myfunction(a,b,varargin)В этом случае varargin{1} соответствует третьему входу, переданному функции, и nargin прибыль length(varargin) + 2.