shake - Randomize a matrix along a specific dimension
Y = shake(X) randomizes the order of the elements in each column of the
2D matrix. For N-D matrices it randomizes along the first non-singleton
dimension.
shake(X, DIM) randomizes along the dimension DIM.
[Y, I, J] = shake(X) returns indices so that Y = X(I) and X = Y(J).
Example:
A = [1 2 3 ; 4 5 6 ; 7 8 9 ; 10 11 12] ; % see <SLM> on the FEX ...
B = shake(A, 2) % -> each row is shaked randomly
% 3 2 1
% 6 4 5
% 7 8 9
% 11 10 12%
C = sort(B, 2) % -> equals A!
For vectors V, shake(V) is similar to V(randperm(numel(V)).
The function of shake can be thought of as holding a matrix and shake
in a particular direction (dimension), so that elements are getting
shuffled within that direction only.
引用格式
Jos (10584) (2024). shake (https://www.mathworks.com/matlabcentral/fileexchange/10067-shake), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
致谢
启发作品: randone1, RANDSWAP, Permute a grouped vector
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!