首页 > 代码库 > Maltab 句柄处理(Eval, Feval, @)

Maltab 句柄处理(Eval, Feval, @)

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

验证结果是一样的。。。。



虽然是简单的三个句柄, 但是很少有人用的很活,这个很重要。
三种快速处理数据的方法, 这只是一种方法,可以利用这些功能做更多的运算,而且效率会很高。