matlab nargin 用法

matlab nargin 用法,第1张

示例:

1.当如橡旦前函数的输入

在名为 addme.m 的文件中创建最多可接受两个输入的函数。在函数主体中使用 nargin 确定输入数目。

typeaddme.m

functionc=addme(a,b)

switchnargin

case2

c=a+b

case1

c=a+a

otherwise

c=0

end

end

在命令提示符下使用两个输入调用 addme 函数。

c=addme(13,42)

c=55

使用一个输入调用该函数。

c=addme(13)

c=26

2.为函数定义的输入

确定一个函数可接受多少个输入。

上一个示例中创建的 addme 函数在声明语句中包含两个输入(a 和 b)。以字符向量的形式定义函数名称,并使用它作为 nargin 的输入。

fun='addme'

nargin(fun)

ans=2

3.使用 varargin 的函数的输入

确定使用 varargin 的函数可接受多少个输如轮入。

在名为 mynewplot.m 的文件中创建一个函数,该函数接受数值输入 x 和 y,并使用varargin返回任意数目的其他绘图输入。

typemynewplot.m

functionmynewplot(x,y,varargin)

figure

plot(x,y,varargin{:})

title('MyNewPlot')

end

查询 newplot 可以接受多少个输入。

fx='mynewplot'

nargin(fx)

ans=-3

负号表示第三个输入是 varargin。mynewplot 函数可接受不定数目的附加输入参数

扩展资料:

nargin——函数输入参数数目。

2.语法:nargin或nargin(fun)

3.说明:

nargin 针对当前正在执行的函数,返回函数调用中给定函数输入参数的数目。该语法仅可在函数体内使用。

nargin(fun) 返回 fun 函数定义中出现的输入参数的数目。

如果该函数定义中包含 varargin,那么 nargin 返回输入数目的负数。

例如,如果 myFun 函数声明输入 a、b 渣扰和 varargin,那么 nargin('myFun') 返回 -3。

4.输入参数

fun - 函数

nargin 从该函数的定义中返回其输入参数数目;指定为函数句柄、字符向量或字符串标量。

参考资料来源:MathWorks中国—函数输入参数数目

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

nargin表示所定义(或引用)的函数的输入参散早数的个数,看下面这个例子就能理解了。

function Output = testfun(Input1 , Input2, Input3, Input4)

if nargin < 1       % 如果输入参数的个数=0, 则输出0

    Output = 0

elseif nargin < 2   % 如果输入参数的个数=1, 则输出11

    Output = 11

elseif nargin <桐滚 3   % 如果输入参数的个数=2, 则输出22

    Output = 22

elseif nargin < 4   % 如果输入参数的个数=3, 则输出33

    Output = 33

else

    Output = 44    % 其他情况, 则输出44

end

end

在命令窗口中输入

a = [0,0,0,0]

a(1) = testfun()

a(2) = testfun(5634)

a(3) = testfun(8782,424)

a(4) = 局掘余testfun(35435,3535,436,465)

a

可以得到结果如下图

图  命令窗口运行结果


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12248222.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存