shake

Version 5.0 (2,16 KB) von Jos (10584)
Randomize a matrix along one dimension
4K Downloads
Aktualisiert 7 Feb 2019

Lizenz anzeigen

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.

Zitieren als

Jos (10584) (2024). shake (https://www.mathworks.com/matlabcentral/fileexchange/10067-shake), MATLAB Central File Exchange. Abgerufen .

Kompatibilität der MATLAB-Version
Erstellt mit R2018b
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und MATLAB Answers
Quellenangaben

Inspiriert: 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!
Version Veröffentlicht Versionshinweise
5.0

updated for newer ML releases, updated algorithm

1.0.0.0

fixed error for scalar inputs