天天看点

nargin函数的用法

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

函数文件examp.m:

function fout=charray(a,b,c)

if nargin==1

fout=a;

else  if  nargin==2

fout=a+b;

else  if  nargin==3

fout=(a*b*c)/2;

end

命令文件mydemo.m:

x=[1:3];y=[1;2;3];

examp(x)

examp(x,y')

examp(x,y,3)

执行mydemo.m 后的输出是:

ans =

  1 2 3

  2 4 6

  21

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

function y=test1(a,b)

if nargin==0

a=0;b=0;

elseif nargin==1

b=0;

y=a+b;

function x=maiter(phi,x0,ep,N)

%x=chat3_ex3maiter(inline('x-(x-exp(-x))/(1+x)'),0.5,1e-5,400)

if nargin<4,N=500;                                                                      end

if nargin<3,ep=1e4;                                                                        end

k=0;

while k<N

x=f(phi,x0);

if abs(x-x0)<ep

break;

x0=x;k=k+1;

if k==N,warning('已达迭代次数上限');                                                            end

disp(['k=',num2str(k)])

这是一个迭代求方程解的Matlab程序,请问if nargin<4,N=500;end和if nargin<3,ep=1e4;end这两个语句在这个程序中起什么作用?

NARGIN表示输入变量的个数,程序中的意思是如果输入参数小于4个,则N默认为500,如果输入参数小于3个,默认输入参数EP=1E4

这就是说输入的变量式4各的时候是那样运行,输入变量式3各式运行以后的程序

上一篇: C++ 多态