Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Regarding random generation of elements in a matrix.
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a code like this
randi([0 1],1,10)
I want it to generate random 0 and 1. But I want that it should generate at max two ones. For e.g. I should get eight zeros and two ones randomly. Please tell how to do.
0 commentaires
Réponses (2)
Andrei Bobrov
le 24 Fév 2015
Modifié(e) : Andrei Bobrov
le 24 Fév 2015
out = zeros(1,10);
out(randperm(10,2)) = 1;
or just
out = randperm(10) > 8;
0 commentaires
Roger Stafford
le 24 Fév 2015
You stated "at max two ones", Abhinav. If you want to include the cases where there are less than two 1's, you could do it this way:
A = zeros(1,10);
if rand <= 55/56
i1 = randi(10);
A(i1) = 1;
if rand <= 45/55
i2 = randi(9);
if i2 >= i1
i2 = i2 + 1;
end
A(i2) = 1;
end
end
0 commentaires
Cette question est clôturée.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!