MATLAB如何使用varargin和varargout函数实现可变长度变量的输入输出
varargin和varargout函数用来实现可变长度变量的输入输出。其调用格式如下。
·function [y1,y2]=example(a,b,varargin)表示函数example可以接受大于或等于2个输入参数,返回两个输出参数,2个必选的输入参数是a和b,其他更多的输入参数被封装在varargin中。
·function [y1,y2,varargout]=example(x,y)表示函数example接受2个输入参数x和y,返回大于等于2个输出参数,前两个输出参数为y1和y2,其他更多的输出参数封装在varargout中。
例题 varargout函数使用。
输入如下程序:
function [s,varargout]=mysize(x)
n=max(nargout,1)-1;
s=size(x);
for k=1:n
varargout(k)={s(k)}; %为可变长度输出变量赋值
end
函数中使用了可变长度的变量输出,可以返回一个矩阵的大小和每一维的长度。
>> [s,i,j]=mysize(rand(8,9))
s =
8 9
i =
8
j =
9