varargin
1.定义:
varargin指代的是一个函数的变输入参数列表。所谓的变输入参数列表:即varargin可以等价于任意不定个数的输入参数。例如,F是一个函数,F(a)可以用F(varargin)表示,F(a,b)依然可以用F(varargin)表示,F(a,b……)均能用F(varargin)来指代。
2.用法
①在指明它时用小写的字母varargin表示;
②在函数的参数列表中,不论含有一个或多个参数,varargin放在最后面;
③当函数执行时,varargin就是一个1*n的cell(元胞)数组(cell数组理解点这里)。
3.实例
例子1:
%函数的定义
function varlist2(x, y, varargin) fprintf('Total number of inputs = %d\n', nargin); %输出函数参数的总数 nVarargs = length(varargin); %获取varargin参数列表的长度 fprintf('Inputs in varargin( %d ) :\n', nVarargs); for k = 1 : nVarargs fprintf(' %d ', varargin{k} ) %打印输出varargin中的元素值 end
%函数的使用, varlist2( 10, 20, 30, 40, 50) %此处有5个参数 Total number of inputs = 5 Inputs in varargin(3): %由于函数varlist2中有两个已经给出的参数x y,故varargin只指代后面的3个参数 30 40 50 30 40 50
例子2:
%函数定义
function varlist(vargarin) fprintf(' Number of arguments: %d\n',nargin); %输出函数参数的总数 celldisp(varargin) %输出元胞数组varargin中的所有元素 %函数调用 varlist( ones(3), 'some text', pi) Number of arguments:3 %函数调用时有3个参数,故nargin为3 varargin{1} = %以下是varargin{i}的输出打印 1 1 1 1 1 1 1 1 1 varargin{2} = some text varargin{3} = 3.1416