feval:
funcList = {'sin','cos','tan'};
for i=1:numel(funcList)
f = feval(funcList{i},1.0);
end
funcList = {'sin','cos','tan'};
for i= 1:numel(funcList)
fh = str2func(funcList{i});
f = fh(1.0);
end
funcList = {@sin, @cos, @tan};
for i = 1:numel(funcList)
f = funcList{i}(1.0);
end
eval :
funcList = {'sin','cos','tan'};
for i=1:numel(funcList)
func = eval(['@' funcList{i}]);
f = func(1.0)
end
验证结果是一样的。。。。
虽然是简单的三个句柄, 但是很少有人用的很活,这个很重要。
三种快速处理数据的方法, 这只是一种方法,可以利用这些功能做更多的运算,而且效率会很高。
本文深入分析了MATLAB中三种不同的函数评估方法:feval、str2func和直接函数引用,通过实例展示了如何高效地处理数学运算,并强调了灵活使用这些功能的重要性。文章还指出,虽然这些技术看似简单,但掌握它们对于提高编程效率至关重要。
548





