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 (2024). flat (https://www.mathworks.com/matlabcentral/fileexchange/17257-flat), 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.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 | insert a warning in the description |