您的位置:首页 > 编程语言 > Go语言

nargin 和 nargout

2013-05-06 16:34 113 查看
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
提问者评
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: