Repetitious Binary Search

Binary search for the insertion index of a vector's elements in a matrix's columns, compatible with code generation
40 Downloads
Updated 1 Oct 2021

View License

Perform a binary search to find the insertion index of
(a) a scalar in a vector
(b) each element of an array in a vector
(c) a scalar in each column of an array
(d) each element of an array in each column of an array.
The above arrays can be of arbitrary dimension, except in (d) where the number of elements in the first array must match the number of columns in the second array.
MATLAB's discretize function finds the insertion index of each element of a vector within a single 'edges' vector. This is generalized here to enable the 'edges' vector to be a matrix or higher dimensional array, giving a different 'edges' vector for each binary search problem.
These functions are compatible with MATLAB's code generation. Data is accessed in such a way that the MATLAB code is nearly as fast as its compiled version when run in MATLAB R2015b and later, thanks to the JIT compiler.
--- Future changes are unlikely, but if there are any they will be found on github, not here:
https://github.com/geoffstanley/neutral-surfaces/tree/master/lib/binsrch

Cite As

Geoff Stanley (2024). Repetitious Binary Search (https://www.mathworks.com/matlabcentral/fileexchange/70108-repetitious-binary-search), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Matrices and Arrays 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
1.0.1

Update Description. No changes to files.

1.0.0