使用变量varargin和变量varargout。varargin和varargout必须使用小写形式。例如,
function [m,n] = testhv3(varargin)将输入的变量数读取到函数testhv3中,而
function [varargout] = testhv4(m, n, p)则通过函数testhv4返回输出的变量数。若函数testhv有一个固定的输入变量x,后跟输入变量的可变数目,则调用
function [m, n] = testhv3(x, varargin)函数时,会导致varargin由用户提供的第二个输入变量开始运行(第二个输入变量为varargin这个单元数组第一个元素)。varargout的情形与此类似。一个函数的输入变量和输出变量的个数是可变的。
当varargin用做一个函数的输入变量时,MATLAB会将其置入一个单元数组中,该数组接受由用户输入的变量数。varargout类似,函数返回的是一个单元数组。
例:
function varargout = Test(a, b, varargin)当你在matlab命令行键入
[x,y,z] = Test(1, 2, 3)返回
共有3个输入参数.参考文献
[1]Rafael C.Gonzalez,Richard E.Woods,Steven L.Eddins.数字图像处理(MATLAB版)[M].电子工业出版社:北京,2005.9:51.
[2]森林里的树叶子.Matlab,如何实现输入参数及输出参数的个数可变?[EB/OL].http://blog.sina.com.cn/s/blog_e68017690102v68u.html,2014-11-08.