Snip.m Snip elements out of vectors/matrices

Solves problems s.a. 'remove all nan' from a vector, 'get rid of 14th row of matrix' with low effort

You are now following this Submission

I often end up having to remove certain elements from a vector, or I don't need certain lines from my data and similar problems. While matlab has great matrix manipulation capability, I find myself continuously forgetting which [(:,)):,) combination would do the trick nicely and then proceed to Google. Therefore, my first attempt at creating something useful turns matlab logic upside down: Imagine your vector is on a strip of paper, and you cut out all the unwanted nan's. Then paste the rest together. Same with matrices. Also works with specifying the rows and columns to get rid of etc.

This aim is to remove large accumulations of logical index descriptions (bracket-clusters) and provide an easy command instead:

snip(input,snipthis)

While it is not perfect (written in a flurry), it worked for me so far - so please provide feedback to make it better. It should work with everything necessary, except self-defined data-structures.

Cite As

Nicolas (2026). Snip.m Snip elements out of vectors/matrices (https://www.mathworks.com/matlabcentral/fileexchange/41941-snip-m-snip-elements-out-of-vectors-matrices), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired: Circles overlap remover

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.3.0.0

13. Sept. 2013: Included inf and i/j as possible arguments to remove infinity and complex elements, too.

1.1.0.0

corrected 'end' to 'last', as end was obviously interfering with standard instruction.

1.0.0.0