Producing random numbers in Matlab?
Mostrar comentarios más antiguos
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.
Respuesta aceptada
Más respuestas (3)
Torsten
el 24 de Jul. de 2015
x=zeros(10);
[y,idx]=datasample(1:10,4,'Replace',false);
x(idx)=1;
Best wishes
Torsten.
2 comentarios
Azzi Abdelmalek
el 24 de Jul. de 2015
This doesn't work
Azzi Abdelmalek
el 24 de Jul. de 2015
With randi, you can get the same number more then once
Azzi Abdelmalek
el 24 de Jul. de 2015
Using rand
n=4
m=6
a=[ones(1,n), zeros(1,m)]
[~,idx]=sort(rand(1,m+n))
out=a(idx)
Categorías
Más información sobre Random Number Generation en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!