支持可变数量的输入
本示例介绍如何使用 varargin
定义接受可变数量的输入参数的函数。varargin
参数是包含函数输入的元胞数组,其中每个输入都位于它自己的元胞中。
在名为 plotWithTitle.m
的文件中创建一个函数,为 plot
函数接受可变数量的成对输入 (x,y) 和可选的标题。如果该函数接收的输入数为奇数,它将最后一个输入视为标题。
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
函数的逗号分隔输入列表。
调用两组 (x,y) 输入和一个标题的 plotWithTitle
。
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
。