matlab中nargin的意思,matlab中“nargin”和“nargout”怎么用?

本文介绍了MATLAB中nargin和nargout的用途。nargin用于获取函数输入参数的数量,nargout则用于获取输出参数的个数。在函数体内,这两个函数帮助动态处理不同数量的输入或输出。例如,函数qiujuli展示了如何根据nargin的值来处理不同情况的输入点,计算它们之间的距离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

nargin为“number of input arguments”的缩写。 在matlab中定义一个函数时, 在函数体内部, nargin是用来判断输入变量个数的函数。在matlab命令窗口中输入help nargin或者doc nargin即可获得该函数的帮助信息。

nargin通过调用当前正在执行的函数返回输入参数的数量,只在函数体内使用nargin语法功能。

nargin(fx)在函数fx的定义声明中返回输入参数的个数。如果函数包括varargin其定义,那么nargin返回的输入个数为负。例如函数foo输入有 a,b,和varargin三个参数,那么nargin('foo”)返回值为-3。

nargout的作用是在matlab中定义一个函数时, 在函数体内部, nargout指出了输出参数的个数(nargin指出了输入参数的个数)。 特别是在利用了可变参数列表的函数中, 用nargout获取输出参数个数很方便。

语法

nargout

nargout(fun)

相关:varargout、nargin、varargin

应用举例

function varargout = foo(varargin)

fprintf('How many output arguments? %d\n', nargout);

for k=1:nargout

varargout(k) = {varargin{k}};

end

end

输出结果

>> ret = foo(1, 2, 3)

How many output arguments? 1

ret = 1

>> [retA, retB] = foo(1, 2, 3)

How many output arguments? 2

retA = 1

retB = 2

>> [retA, retB, retC] = foo(1, 2, 3)

How many output arguments? 3

retA = 1

retB = 2

retC = 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值