目录
支持可变数量的输入
本示例介绍如何使用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。