假设您要使用MATLAB中定义的函数序列,并将这些函数的名称作为字符串变量.假设你已经创建了fun1
,, fun2
... funN
,并且你还有一个字符串向量['fun1','fun2',...,'funN']
.如何自动调用每个函数而不必逐个写入每个函数的名称?
使用str2func
.当然,如果函数已被定义为函数句柄(例如fun1 = @(x)x+x.^2+sqrt(x))
),则可以跳过下面的str2func步骤.
strList= {'sum','mean','max','min'}; funList = cellfun(@str2func,strList,'uniformOutput',false); nFunctions = length(funList); data = rand(10,1); results = zeros(nFunctions,1) for iFunction = 1:nFunctions results(iFunction) = fulList{iFunction}(data); end