Rearrange any matrix Randomly with a specific sequence
Afficher commentaires plus anciens
Hello,
I have a Matrix A like this
A=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]'
I want to redistribute the matrix but I want to preserve a specifc sequence which is 5 here.
I mean I need a way to redistribute each five element randomly and assign them to a new matrix
for example:
the matrix B will be like this:
B=[6 7 8 9 10 11 12 13 14 15]'
the matrix C will be like this:
C=[ 1 2 3 4 5 16 17 18 19 20]'
Is that possible in MATLAB ?
Thanks,
4 commentaires
infinity
le 22 Juin 2019
Hello,
I suggest you to see the function "randperm"
It may help
Mahmoud Khadijeh
le 22 Juin 2019
Modifié(e) : Mahmoud Khadijeh
le 22 Juin 2019
KALYAN ACHARJYA
le 22 Juin 2019
It seems simple, it would be better to answer if you clearly elaborate the question?
For the following inputs
A=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]'
Apart from above B and C, what are other possible outputs?
Mahmoud Khadijeh
le 22 Juin 2019
Réponse acceptée
Plus de réponses (1)
TADA
le 22 Juin 2019
A=1:20;
blockSize = 5;
nOutputBlocks = 2;
a=reshape(A,blockSize,[]);
i=sort(reshape(randperm(size(a,2)),[],nOutputBlocks),2);
B=reshape(a(:,reshape(i',1,[])),blockSize*nOutputBlocks,[])
1 commentaire
Mahmoud Khadijeh
le 22 Juin 2019
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!