Matlab中的参数传递

3

我有一个Matlab函数,形式为fun(a,b,c),使用者在调用函数时可能会或可能不会给出参数'c'。稍后,我必须在该函数中对'c'进行switch case操作,因此需要检查用户是否使用2个还是3个参数调用了该函数?

如何做到这一点?


相关链接:https://dev59.com/omoy5IYBdhLWcg3wUcb_#8631335 - Andrey Rubshtein
1个回答

9
您可以通过使用nargin来完成这个操作:
function fun(a,b,c)

if (nargin < 3)
    c = c_default_value;
end

switch c

或者使用 narginvarargin(此函数定义允许无限数量的参数):
function fun(a,b,varargin)

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

switch c

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接