例如,我有一个将使用两个输入运行的函数。 但是,如果只输入一个输入,我希望Matlab运行不同的代码行(使用if-else语句)。 如果没有足够的输入,Matlab会在没有自动返回错误的情况下如何做到这一点?
答案 0 :(得分:0)
你有很多可能性。您可以使用varargin,它会传递一个包含函数所有参数的单元格数组:
function f1(varargin)
switch numel(varargin)
case 1
disp(varargin{1})
case 2
disp(varargin{1})
disp(varargin{2})
end
end
您还可以使用nargin
检查输入参数的数量,如果不存在则不使用第二个输入参数。
function f2(x,y)
switch nargin
case 1
disp(x)
case 2
disp(x)
disp(y)
end
end
第三种可能性是检查y
是否存在。如果你没有通过论证,那就不存在了:
function f3(x,y)
if not(exist('y','var'))
disp(x)
else
disp(x)
disp(y)
end
end