Matlab 函数输入不确定多个参数的使用

nargin: number of function arguments,即函数输入参数个数。
只要你的函数重载逻辑没有出错,那么就可以通过查看nargin的数值来实现你说的设置缺省值等功能。
看下nargin的帮助就知道了。

使用方法

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

函数文件 examp.m

function fout=examp(a,b,c)

if nargin==1

   fout=a;

elseif nargin==2

   fout=a+b;

elseif nargin==3

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

end

另外一例:

function [x0, y0] = myplot(x, y, npts, angle, subdiv)

% MYPLOT Plot a function.
% MYPLOT(x, y, npts, angle, subdiv)
% The first two input arguments are
% required; the other three have default values …if nargin
< 5, subdiv = 20; endif nargin
< 4, angle = 10; endif nargin
< 3, npts = 25; end …if nargout == 0 plot(x, y)else x0 = x; y0 = y;end

注:%x,y是两个变量,npt,angle,subdiv这三个参数具有默认值,不需要输入。if nargin < 5, subdiv = 20; end如果输入变量的个数小于5个,那么给subdiv赋默认值。

if nargin < 4, angle = 10; end如果输入变量的个数小于4个,那么给angle赋默认值。

……详细用法 在matlab窗口中输入 help nargin

点赞