本主题解释了使用的特殊考虑因素varargin.
那varargout.
那纳
, 和露狼
嵌套功能。
varargin.
和varargout.
允许您创建接受可变数量的输入或输出参数的函数。虽然varargin.
和varargout.
看起来像函数名称,他们引用变量,而不是函数。这意味着很重要,因为嵌套函数共享包含它们的函数的工作空间。
如果你不使用varargin.
要么varargout.
在嵌套函数的声明中,然后varargin.
要么varargout.
在嵌套函数中,指的是外部功能的参数。
例如,在命名的文件中创建一个函数Showargs.m.
使用varargin.
并且有两个嵌套功能,其中一个使用varargin.
一个没有的。
功能Showargs(varargin)嵌套1(3,4)嵌套2(5,6,7)功能嵌套1(a,b)disp('嵌套1:varargin {1}'的内容)DISP(varargin {1})结尾功能嵌套2(varargin)disp('嵌套2:varargin {1}'的内容)DISP(varargin {1})结尾结尾
调用函数并比较内容varargin {1}
在两个嵌套功能中。
showargs(0,1,2)
嵌套1:varargin {1} 0嵌套2:varargin {1}的内容5
另一方面,纳
和露狼
是功能。在任何函数中,包括嵌套函数,调用纳
要么露狼
返回该函数的参数数。如果嵌套功能需要值纳
要么露狼
从外部函数,将值传递给嵌套功能。
例如,在命名的文件中创建一个函数表现um.m.
它将主要(父)函数的输入参数的数量传递给嵌套函数。
功能表现umargs(varargin)disp([“出现的输入数量:”,Int2str(nargin)]);巢德福克(Nargin,2,3,4)功能Nestedfx(n,varargin)disp([“巢的输入数量:',Int2str(nargin)]);DISP(['父母的输入数:',Int2str(n)]);结尾结尾
称呼展示尤其
并比较输出纳
在父级和嵌套函数中。
表现umargs(0,1)
显示的输入数量:2嵌套的输入数量:4个输入父级的输入数:2