Итерация по вектору функций в MATLAB - PullRequest
17 голосов
/ 15 апреля 2011

Можно ли перебрать список функций в MATLAB? Я пытаюсь протестировать различные радиальные базисные функции, и это, кажется, лучший способ сделать это.

Ответы [ 2 ]

23 голосов
/ 15 апреля 2011

Вы можете сделать массив ячеек из , функция обрабатывает и выполнить итерацию по нему.Например:

vec = 1:5;                            % A sample vector of values
fcnList = {@max, @min, @mean};        % Functions to apply to the vector
nFcns = numel(fcnList);               % Number of functions to evaluate
result = zeros(1, nFcns);             % Variable to store the results
for iFcn = 1:nFcns
  result(iFcn) = fcnList{iFcn}(vec);  % Get the handle and evaluate it
end
8 голосов
/ 15 апреля 2011

Если вы хотите определить свои собственные функции, оказывается, что вы можете сделать это, исходя из ответа gnovice:

funcList = {@(x, y) (x - y), @(x, y) (x + y)}
...