how to count the number of function calls without modifying it by inserting a counter ?
Show older comments
Hi, for example in ga(...), the count of objective function calls is provided, but not that of the constraint function. My unsatisfactory solution is, in the main program, to insert a global variable to count and another to reset the counter :
global constr_count
global reset_constr_count % = 1 to reset
...
reset_constr_count = 1;
[x, fval, exitflag, output] = ga(handle_obj, I, ...
[], [], [], [], lx, ux, @my_constraint_function, options_ga);
and to insert those lines in the constraint function :
function [g, h] = my_constraint_function(x)
...
% counter constr_count of calls to this function :
global constr_count reset_constr_count;
persistent count;
if isempty(count) || reset_constr_count == 1
count = 1;
reset_constr_count = 0;
else
count = count + 1;
end
constr_count = count;
With this solution, I have to modify all my pre existing constraint functions, which is a hard task. Is there an easier way to count (not only in that ga example) ? Thank you !
Accepted Answer
More Answers (1)
Guillaume
on 10 Oct 2018
2 votes
Categories
Find more on Parallel Computing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!