Counted Function (CountedFunction)
CountedFunction
Class to define functions in a way that facilitates counting the number of function calls/evaluations.
Usage
[fc,count] = CountedFunction.count_function_calls(f)
Description
[fc,count] = CountedFunction.count_function_calls(f)
takes a function handle, f
, and returns a function handle fc
and a counter function count
. fc
performs the same function evaluation as f
(it is just wrapped around a CountedFunction
object which calls f
directly). Calling the counter function (i.e. count()
) will return the current number of function calls.
Note
- For simple functions, such as
f = @(x) x^2
, this can severely slow down function calls (by a factor of ~20). - For complicated functions that have a long evaluation time to begin with, this performance hit is negligible.
Basic Example
See more examples in Examples.mlx
.
% define the function
f = @(x) x^2;
% new function handle that counts the number of function evaluations
[f,count] = CountedFunction.count_function_calls(f);
% evaluates the function 1000 times
for i = 1:1000
f(0);
end
% prints the number of function evaluations
count()
ans =
1000
% evaluates the function another 1000 times
for i = 1:1000
f(0);
end
% prints the number of function evaluations again
count()
ans =
2000
Zitieren als
Tamas Kis (2024). Counted Function (CountedFunction) (https://github.com/tamaskis/CountedFunction-MATLAB/releases/tag/v1.0.3), GitHub. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.0.3.0 | See release notes for this release on GitHub: https://github.com/tamaskis/CountedFunction-MATLAB/releases/tag/v1.0.3 |
||
1.0.2.0 | See release notes for this release on GitHub: https://github.com/tamaskis/CountedFunction-MATLAB/releases/tag/v1.0.2 |
||
1.0.1 | See release notes for this release on GitHub: https://github.com/tamaskis/CountedFunction-MATLAB/releases/tag/v1.0.1 |
||
1.0.0 |