Permutation of array elements
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Andrea
le 28 Jan 2015
Modifié(e) : Walter Roberson
le 21 Août 2018
Hi, I have 3 array with different number of cells and a matrix of 1 row and 3 columns composed by the arrays.
ACTIVITY_WAKE = {'awake_in_bed','out_of_bed','out_bedroom'};
ACTIVITY_MORNING_TOILET = {'enter_toilet','sit_WC','wash','exit_toilet'};
ACTIVITY_BREAKFAST = {'prepare_breakfast','have_breakfast','wash_dishes'};
WAKE_UP = [ACTIVITY_WAKE ACTIVITY_MORNING_TOILET ACTIVITY_BREAKFAST];
I would like to generate WAKE_UP with random order, but when I use randperm command I have permutation of the element in single array, I only need to permute the array, like:
WAKE_UP = [ACTIVITY_WAKE ACTIVITY_BREAKFAST ACTIVITY_MORNING_TOILET] or
WAKE_UP = [ACTIVITY_MORNING_TOILET ACTIVITY_WAKE ACTIVITY_BREAKFAST ]
0 commentaires
Réponse acceptée
Matz Johansson Bergström
le 28 Jan 2015
Modifié(e) : Matz Johansson Bergström
le 28 Jan 2015
This seems to work
A = {'test a 1', 'test a 2'};
B = {'test b 1', 'test b 2'};
WAKE = [A',B'] %see below for explanation
WAKE(:, randperm(2))
If we simply write WAKE = [A,B], the vector will become
'test a 1' 'test a 2' 'test b 1' 'test b 2'
instead I write transpose the A and B elements, so WAKE = [A',B'] which gives
'test a 1' 'test b 1'
'test a 2' 'test b 2'
This should work in a similar way in your case, but I have not tested this.
7 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!