nargin返回调用函数时的输入参数个数,它是“number of input arguments”的缩写
比如现在定义一个函数如下:

function ins = insinit(avp0, ts, var1, var2)

在函数内部,需要根据输入参数个数,判断是那种参数传入情况,进而执行相应代码,这时候就用到了nargin

if nargin==2      % ins = insinit(avp0, ts);
        [qnb0, vn0, pos0] = setvals(a2qua(avp0(1:3)), avp0(4:6), avp0(7:9));
elseif nargin==3  % ins = insinit(avp0, ts, avperr);
        avperr = var1;
        avp0 = avpadderr(avp0, avperr);
        [qnb0, vn0, pos0] = setvals(a2qua(avp0(1:3)), avp0(4:6), avp0(7:9));
elseif nargin==4  % ins = insinit(qnb0, vn0, pos0, ts);
        [qnb0, vn0, pos0, ts] = setvals(avp0, ts, var1, var2);
    end        

在函数定义中直接使用nargin便可直接返回传入参数的个数

更多推荐

Matlab函数之nargin用法