在Matlab中传递的参数

Vis*_*hal 3 parameters matlab arguments argument-passing matlab-deployment

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

怎么做?

nrz*_*nrz 9

你可以使用nargin:

function fun(a,b,c)

if (nargin < 3)
    c = c_default_value;
end

switch c
Run Code Online (Sandbox Code Playgroud)

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

function fun(a,b,varargin)

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

switch c
Run Code Online (Sandbox Code Playgroud)