How to spread out an arry of matrix randomly
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have random matrix like this
[2 2 2 2 1 1 1 1 1 -1 -1 -1 -1 -1]
and depend to the result of calculation number of 2 1 -1 will be different but i want to spread these numbers randomly like this e.g. [2 1 2 -1 1 1 2 -1 2 -1 -1 2 ]
how should i do this?
0 commentaires
Réponses (2)
Walter Roberson
le 18 Mai 2016
YourVector(randperm(length(YourVector)))
2 commentaires
Stephen23
le 19 Mai 2016
@Hamid Reza Barzegar: Walter Roberson's answer clearly uses randperm(length(...)). You have written length(randperm(...).
Roger Stafford
le 18 Mai 2016
Modifié(e) : Roger Stafford
le 18 Mai 2016
Let n be the desired length of the result and let a = [2 1 -1] :
p = randi(3,n,1); % <-- Corrected
v = a(p(randperm(n))); % v is your result % <-- Corrected
5 commentaires
Roger Stafford
le 18 Mai 2016
As I state above, your expression is in error in using "length(randperm(Alloc_Sc))" instead of "randperm(length(Alloc_Sc))".
Voir également
Catégories
En savoir plus sur Logical 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!