Producing random numbers in Matlab?
Ältere Kommentare anzeigen
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.
Akzeptierte Antwort
Weitere Antworten (3)
Torsten
am 24 Jul. 2015
x=zeros(10);
[y,idx]=datasample(1:10,4,'Replace',false);
x(idx)=1;
Best wishes
Torsten.
2 Kommentare
Azzi Abdelmalek
am 24 Jul. 2015
This doesn't work
Azzi Abdelmalek
am 24 Jul. 2015
With randi, you can get the same number more then once
Azzi Abdelmalek
am 24 Jul. 2015
Using rand
n=4
m=6
a=[ones(1,n), zeros(1,m)]
[~,idx]=sort(rand(1,m+n))
out=a(idx)
Kategorien
Mehr zu Random Number Generation finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!