3

我在matlab中有一个fun(a,b,c)形式的函数,当他调用函数时,使用可能会或可能不会给出参数'c'。我必须稍后在该函数中在“c”上使用 switch case,因此需要检查用户是否使用 2 个或 3 个参数调用了该函数?

怎么做?

4

1 回答 1

9

你可以通过使用来做到这一点nargin

function fun(a,b,c)

if (nargin < 3)
    c = c_default_value;
end

switch c

或使用narginand varargin(此函数定义允许无限数量的参数):

function fun(a,b,varargin)

if (nargin < 3)
    c = c_default_value;
else
    c = varargin{1};
end

switch c
于 2012-05-16T07:02:27.087 回答