1、varargout与nargout区别
varargout简介:
varargout可以看做“Variable length output argument list”的缩写。在matlab中定义m函数时通过varargout我们可以得到可变的数个返回值。在matlab命令窗口中输入doc varargout或help varargout可以获得相关帮助信息。函数申明时的输出参数。
用法:function varargout = foo(n)。
nargout简介:
在matlab中定义一个函数时, 在函数体内部, nargout指出了输出参数的个数。特别是在利用了可变参数列表的函数中, 用nargout获取输出参数个数很方便。
用法:
n = nargout
n= nargout(fun)
2、varargin与nargin的区别
varargin简介:
varargin可以看做“Variable length input argument list”的缩写。在matlab中, varargin提供了一种函数可变参数列表机制。 就是说,使用了“可变参数列表机制”的函数允许调用者调用该函数时根据需要来改变输入参数的个数。
用法:function y = bar(varargin)。
nargin简介:
在matlab中定义一个函数时, 在函数体内部, nargin指出了输入参数的个数。 特便是在利用了可变参数列表的函数中, 用nargin获取输入参数个数很方便。
用法:
n = nargin
n = nargin(fun)
3、实例
function varargout = foo(varargin)
fprintf('How many output arguments? %d\nAnd they are: \n', nargout);
for k=1:nargout
varargout(k) = varargin(k); % the same as {varargin{k}};
fprintf('%s ', num2str(varargout{k}));
end
disp(' ');
end
在matlab command中运行结果如下:
>>[y1,y2]=lianxi(1,2,3)
How many output arguments? 2
And they are:
1 2
y1 =
1
y2 =
2
>> y=lianxi(1,2,3)
How many output arguments? 1
And they are:
1
y =
1
文章评论(0条评论)
登录后参与讨论