X = pushnans(X,truncate)
Pushes nans to the bottom of each column of X. It should be pretty fast.
The second input is an optional flag. If true, the whole-nan rows at the bottom of X are removed.
Two slightly different algorithms are implemented in the function together with a simple check to select the faster version: which is faster depends on what fraction of the input matrix is non-NaN.
Note that only limited testing has been done - please report problems below. I would also be interested to hear if there are more efficient ways of implementing this.
Daniel (2023). pushNaNs (https://www.mathworks.com/matlabcentral/fileexchange/41559-pushnans), 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!