varargin可变长度输入参数列表。
允许函数的任意数量的参数。 变量varargin是一个包含函数可选参数的单元数组。 必须将varargin声明为最后一个输入参数,并从该点开始收集所有输入。 在声明中,varargin必须是小写的(即varargin)。
例如,这个函数:
function myplot(x,varargin)
plot(x,varargin{:});
将从第二个输入开始的所有输入收集到变量“varargin”中。 MYPLOT使用逗号分隔列表语法varargin {:}将可选参数传递给plot。调用myplot(sin(0:.1:1),'color',[.5 .7 .3],'linestyle',':')会形成varargin为1 x 4单元格数组,其中包含 值'color',[.5 .7 .3],'linestyle'和':'。
varargout可变长度输出参数列表。
允许来自函数的任意数量的输出参数。 变量varargout是一个包含函数可选输出参数的单元数组。 必须将varargout声明为最后一个输出参数,并且必须包含该点之后的所有输出。 在声明中,varargout必须是小写的(即varargout)。
调用函数时,不会初始化varargout。 您必须在函数返回之前创建它。 使用NARGOUT确定要生成的输出数。
例如,这个函数:
function [s,varargout] = mysize(x)
nout = max(nargout,1)-1;
s = size(x);
for i=1:nout, varargout(i) = {s(i)}; end
返回大小向量和可选的单个大小,因此,
[s,rows,cols] = mysize(rand(4,5));
返回 s = [4 5], rows = 4, cols = 5.
nargin函数输入参数的数量。
在用户定义函数的主体内部,nargin返回用于调用函数的输入参数的数量。
nargin(FUN)返回函数FUN的声明输入数。 如果函数具有可变数量的输入参数,则参数的数量为负。 FUN可以是映射到特定函数的函数句柄,也可以是包含该函数名称的字符串。
nargout函数输出参数的数量。
在用户定义函数的主体内部,nargout返回用于调用函数的输出参数的数量。
nargout(FUN)返回函数FUN的声明输出数。 如果函数具有可变数量的输出参数,则参数的数量为负数。 FUN可以是映射到特定函数的函数句柄,也可以是包含该函数名称的字符串。