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

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

Смотрите также

|

Связанные примеры

Больше о