Shuffle two different lists of numbers in the same way
8 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I want to shuffle two vectors, both with n elements, so that they are shuffled in the same way, i.e. the corresponding elements in each are moved to the same spot. I have tried doing this by using randperm like this:
ix = randperm(n);
ShuffledVector1 = Vector1(ix);
ShuffledVector2 = Vector2(ix);
But the shuffling is not done in the same way, I know because when I run it for Vector1=Vector2, ShuffledVector1 doesn't end up equaling ShuffledVector2. Any advice?
2 Commenti
Guillaume
il 13 Feb 2016
You're doing something wrong in your testing. If Vector1 == Vector2, then ShuffledVector1 == ShuffledVector2, always (with finite elements).
Risposte (1)
Star Strider
il 13 Feb 2016
Maybe I’m missing something, but if ‘Vector1’ and ‘Vector2’ are different, ‘ShuffledVector1’ and ‘ShuffledVector2’ would be different as well.
Example 1:
Vector1 = randi(9, 1, 10);
Vector2 = randi(9, 1, 10);
ix = randperm(10);
ShuffeledVector1 = Vector1(ix);
ShuffeledVector2 = Vector2(ix);
Q1 = Vector1 == Vector2; % Not Equal
Q2 = ShuffeledVector1 == ShuffeledVector2; % Not Equal
Example 2:
Vector1 = randi(9, 1, 10);
Vector2 = Vector1;
ix = randperm(10);
ShuffeledVector1 = Vector1(ix);
ShuffeledVector2 = Vector2(ix);
Q1 = Vector1 == Vector2; % Equal
Q2 = ShuffeledVector1 == ShuffeledVector2; % Equal
2 Commenti
Guillaume
il 13 Feb 2016
Yes, you're doing something wrong. Example 2 is true.
If you can't figure out where the problem is. Post the code you're using to test here.
Vedere anche
Categorie
Scopri di più su Graphics Object Programming in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!