MATLAB中的nargin与varargin的用法
nargin的用法:
nargin:number of function input arguments,指的是一个函数的输入变量的个数。
用法:nargin或着nargin(fx), 其中fx指的是一个函数名或着函数句柄。
当一个函数的参数中含有varargin变量时,这时候返回值为负。
下面举例说明:
用于nargin:
function c = addme(a, b) switch nargin case 2 c= a + b; case 1 c = a + a ; otherwise c = 0; end
返回的结果为 a + b。
用到nargin(fx):
fx = 'addme'; nargin(fx) ans = 2
当含有 varargin参数时,
function mynewplot(x, y, varargin) fx = 'mynewplot'; nargin(fx) ans = -3
varargin的用法:
varargin:Variable-length input arguments list. 即指的是变输入参数列表;
varargin 就是一个输入 变量,它可以是任意个不定个数的输入参数。要求:第一,指明它用小写的字母表示;第二,在函数的参数列表中,varargin放在最后面。 当函数执行时,varargin就是一个1*n的cell数组。下面我们举例说明:
第一个例子:
function varlist( vargarin) fprintf(' Number of arguments: %d\n',nargin); celldisp(varargin) varlist( ones(3), 'some text', pi) Number of arguments:3 varargin{1} = 1 1 1 1 1 1 1 1 1 varargin{2} = some text varargin{3} = 3.1416
第二个例子:
function varlist2(x, y, varargin) fprintf('Total number of inputs = %d\n', nargin); nVarargs = length(varargin); fprintf('Inputs in varargin( %d ) :\n', nVarargs); for k = 1 : nVarargs fprintf(' %d ', varargin{k} ) end varlist2( 10, 20, 30, 40, 50) Total number of inputs = 5 Inputs in varargin(3): 30 40 50