Squish(x) will remove all singleton dimensions in x, including conversion of row vectors to column vectors.
Since singleton dimensions can confuse many operations, this function removes absolutely ALL singleton dimensions. SQUEEZE though similar, does not operate on 2D arrays which include row vectors. Thus the expected result may not always occur with SQUEEZE.
Note: This same operation can be performed with shiftdim(squeeze(x)), but squish has been timed to be faster.
For example compare the results of the following for any positive or negative n:
size(squeeze(shiftdim([1:3]',n)))
size(squish(shiftdim([1:3]',n)))
Cite As
Mirko Hrovat (2024). Squish (https://www.mathworks.com/matlabcentral/fileexchange/11945-squish), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.