matlab中varargout与nargout,varargin与nargin的区别



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:
   

y =

     1

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值