This is a utility function to compute the start and end ids of 'on' events in a logical array, e.g. 00011011110 -> 4/5 & 7/10. This can be used simply for compression (e.g. if you want to store the events of some timeseries) or for further processing, where logical indexing does not seem to do the job. Although it uses FIND it is rather fast on larger arrays.
This function is part of a set of functions to convert between logical and number indexing in arrays:
David J. Mack (2023). getOnOffIds(IsData) (https://www.mathworks.com/matlabcentral/fileexchange/58983-getonoffids-isdata), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
[MOD] Simplified the start/end condition checks.