- 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
验证结果是一样的。。。。
虽然是简单的三个句柄, 但是很少有人用的很活,这个很重要。
三种快速处理数据的方法, 这只是一种方法,可以利用这些功能做更多的运算,而且效率会很高。
为什么要用feval
用feval而不直接调用函数,是为了节省代码量,如果函数个数不止三个,将每个函数都显式地执行一遍,代码是十分繁琐的,不简洁。