Producing random numbers in Matlab?
Afficher commentaires plus anciens
How can I produce random binary numbers with exact number of zeros or ones? for example:
[0 1 0 1 0 1 0 0 1 0] ===> number of ones are 4,
[1 1 0 0 1 0 0 1 0 0] ===> again number of ones are 4,
[1 0 0 1 0 0 0 0 0 1] ===> number of ones are 3, which is not allowed.
I just want exact number of ones in output of random sets.
Réponse acceptée
Plus de réponses (3)
Torsten
le 24 Juil 2015
x=zeros(10);
[y,idx]=datasample(1:10,4,'Replace',false);
x(idx)=1;
Best wishes
Torsten.
2 commentaires
Azzi Abdelmalek
le 24 Juil 2015
This doesn't work
Azzi Abdelmalek
le 24 Juil 2015
With randi, you can get the same number more then once
Azzi Abdelmalek
le 24 Juil 2015
Using rand
n=4
m=6
a=[ones(1,n), zeros(1,m)]
[~,idx]=sort(rand(1,m+n))
out=a(idx)
Catégories
En savoir plus sur Random Number Generation 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!