Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Regarding random generation of elements in a matrix.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (2)
Andrei Bobrov
am 24 Feb. 2015
Bearbeitet: Andrei Bobrov
am 24 Feb. 2015
out = zeros(1,10);
out(randperm(10,2)) = 1;
or just
out = randperm(10) > 8;
0 Kommentare
Roger Stafford
am 24 Feb. 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 Kommentare
Diese Frage ist geschlossen.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!