varargin及cell数组使用说明
varargin是“Variable length input argument list”的缩写,它提供了一种函数可变参数列表机制,允许调用者调用该函数时根据需要来改变输入参数的个数。 varargin 就是一个输入变量,它可以是任意个不定个数的输入参数。要求:第一,指明它用小写的字母表示;第二,在函数的参数列表中,varargin放在最后面。 当函数执行时,varargin就是一个1 * n 的cell数组。
*注:cell数组一般被叫做元胞数组,它的每个单元可以储存不同的数据类型,可以是数值,字符或矩阵或元胞数组等。通过()访问cell数组时访问到的是cell单元,通过{}访问cell数组时访问到的是cell单元储存的内容,
varargin用法
defineAndVariableNumInputs('a',1,zeros(2,2),'mmm',555)
function defineAndVariableNumInputs(x,y,varargin)
disp("Total numbel of input arguments: " + nargin)
formatSpec = "Size of varargin cell array: %d*%d";
str = compose(formatSpec,size(varargin));
%compose为复合函数
disp(str)
disp("The fist varargin argument obtained from the () index")
disp(varargin(size(varargin,1)))
disp("The fist varargin argument obtained from the {} index")
disp(varargin{size(varargin,1)})
disp("The last varargin argument obtained from the () index")
disp(varargin(size(varargin,2)))
disp("The last varargin argument obtained from the {} index")
disp(varargin{size(varargin,2)})
end
输出: