No License
Warning: this is obviously a pretty dumb function, that will be useful when you need to often vectorize indexed matrices.
In matlab you usually vectorize a multidimensional matrix by indexing it with (:), e.g. x(:).
However, if you are trying to vectorize only selected columns or lines in the matrix this is not possible, meaning you can't do something like
hist (x(index,:))
sum (x(index,:))
The usual workaround implies copying the needed elements as a new matrix, as in
x2 = x(index,:);
hist (x2(:));
sum (x2(:));
which crowds your namespace with useless variables and makes your code more complex. Using the (allegedly dumb, but convenient) flat() function, this becomes
hist(flat(x(index,:)));
sum(flat(x(index,:)));
which is both easy to understand, clean and doesn't store the intermediate values.
This was inspired by the numpy x.flat() function.
Cite As
Vincent (2026). flat (https://www.mathworks.com/matlabcentral/fileexchange/17257-flat), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0.0 | insert a warning in the description |
