matrix of zeros and ones within number of zeros in each rows in-between a limit
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Biswanath Mahanty
am 9 Okt. 2015
Kommentiert: Image Analyst
am 10 Okt. 2015
want to have a 30x40 matrix of zeros and ones; however in each row total number of 'ones' must be within 10 to 20.
0 Kommentare
Akzeptierte Antwort
Thorsten
am 9 Okt. 2015
Bearbeitet: Thorsten
am 9 Okt. 2015
A = zeros(40,30);
Omin = 10; Omax = 20;
for i = 1:size(A, 2)
r = randperm(40);
ind = r(1:(Omin-1) + randi(Omax - Omin +1)) + (i-1)*40;
A(ind) = 1;
end
A = A';
imshow(A)
sum(A,2)
2 Kommentare
Image Analyst
am 10 Okt. 2015
Go ahead and mark it as "Accepted" then, so he gets reputation points.
Weitere Antworten (1)
John D'Errico
am 9 Okt. 2015
So generate a matrix with random ones and zeros. Discard any rows that fail this test, and regenerate just those rows. WTP?
Since you have not said what the distribution of the number of ones is, I cannot offer a complete solution, but it is simple in any case. If you will have 17 ones in a row, then generate a row vector with 17 ones, and 23 zeros. Then randomly permute the elements.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Random Number Generation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!