我有一个带有大约10个输入参数的函数。在数据处理之后,这些参数可以是空数组/向量。在这种情况下,我想将每个输出设置为0并从函数中退出(返回)。
如何进行检查以确保函数的所有输入都是非空的,而不必输入每个输入。我想要像。
function [outputs1and2] = myfunct(many_arguments)
if isempty(any_input_argument)
out1 = 0;
out2 = 0;
return
end
out1 = some_math;
out2 = more_math;
end
答案 0 :(得分:3)
您可以使用varargin
初始保存cell array中的所有输入参数,您可以使用cellfun
轻松检查:
function [out1, out2] = myfunct(varargin)
if any(cellfun(@isempty, varargin))
out1 = 0;
out2 = 0;
return
end
% ...further processing
end
当你需要使用输入参数进行后续处理时,你可以像varargin
那样从中提取它:
in1 = varargin{1}; % Get first input argument
此外,虽然它可能比您正在寻找的内容更多,但您也可以查看inputParser
objects以验证函数的输入参数。