Maltabハンドル処理(Eval,Feval,@)

769 ワード

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

検証結果は同じです...
簡単な3つのハンドルですが、あまり生きている人はいません.これは重要です.3つのデータを迅速に処理する方法は、これらの機能を利用してより多くの演算を行うことができ、効率が高い方法にすぎません.