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
标签:函数,nargin,指代,fprintf,MATLAB,varargin,参数
来源: /xwh-blogs/p/