MATLAB中的nargout,nargin是什么,如何使用
在matlab的帮助文档中,说nargout是函数输出参数的数量。我知道函数有输入参数,但不知道输出参数是什么。我书上的一道matlab的函数的例题是ifnargout=...
在matlab的帮助文档中,说nargout是函数输出参数的数量。我知道函数有输入参数,但不知道输出参数是什么。
我书上的一道matlab的函数的例题是
if nargout==0
%函数的一些具体操作
end
这种用法也让我困惑,让函数零输出?
nargin也让我迷惑 展开
我书上的一道matlab的函数的例题是
if nargout==0
%函数的一些具体操作
end
这种用法也让我困惑,让函数零输出?
nargin也让我迷惑 展开
1个回答
展开全部
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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询