nargin 和 nargout

nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。

例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为0,如果两个变量都没有输入,则默认两者均为0。

function y=test1(a,b)
if nargin==0
    a=0;b=0;
elseif nargin==1
    b=0;
end
y=a+b;
nargin对应varargin的个数,是一个数值,而varargin用来存入输入变量,以元胞数组形式存储
nargout对应varargout的个数,是一个数值,而varargout用来存入输出变量,以元胞数组形式存储 
附一个例子,仅供参考
function qiujuli(varargin)%求两点间距离
%%%%使用方法:qiujuli([2 3]),qiujuli([2 3],[4 5]),

if nargin==0
    disp('未输入,请至少输入一点坐标值')
end

if nargin==1
    x1=varargin{1};
    d=sum(x1.^2)^0.5;
    disp('输入只有一点,则求其距原点距离为:')
    disp(['距离d=' num2str(d)]) 
end

if nargin==2
    x1=varargin{1};
    x2=varargin{2};
    x=x1-x2;
    d=sum(x.^2)^0.5;
    disp('输入有两点,则求这两点距离为:')
    disp(['距离d=' num2str(d)])
end

if nargin>2
    disp('输入超过两个点,请至多输入两点坐标值')
end

end
提问者评

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值