Computes the start/end ids of 'true'-events in a logical vector.


Updated 22 Dec 2016

View License

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:

Cite As

David J. Mack (2023). getOnOffIds(IsData) (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R10
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Matrix Indexing in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

[MOD] Simplified the start/end condition checks.
[MOD] Removed the checks for all-false/-true arrays and made them implicit. This sacrifices some speed in these special cases but makes the function faster in any other case.

Added links