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.
Citation pour cette source
Jos (10584) (2026). shake (https://fr.mathworks.com/matlabcentral/fileexchange/10067-shake), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
Tags
Remerciements
A inspiré : randone1, RANDSWAP, Permute a grouped vector
Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
| Version | Publié le | Notes de version | |
|---|---|---|---|
| 5.0 | updated for newer ML releases, updated algorithm |
||
| 1.0.0.0 | fixed error for scalar inputs |
