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
',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
', nargin);
nVarargs = length(varargin);
fprintf('Inputs in varargin( %d ) :
', 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
原文地址:https://www.cnblogs.com/yinheyi/p/5571992.html