matrix of zeros and ones within number of zeros in each rows in-between a limit
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Biswanath Mahanty
el 9 de Oct. de 2015
Comentada: Image Analyst
el 10 de Oct. de 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 comentarios
Respuesta aceptada
Thorsten
el 9 de Oct. de 2015
Editada: Thorsten
el 9 de Oct. de 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 comentarios
Image Analyst
el 10 de Oct. de 2015
Go ahead and mark it as "Accepted" then, so he gets reputation points.
Más respuestas (1)
John D'Errico
el 9 de Oct. de 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 comentarios
Ver también
Categorías
Más información sobre Random Number Generation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!