How to create Random Binary Number with fix amount of 1 and 0?
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi all, I need help to create a random binary numbers (length of 30), but there should be only four "1" in it.
Appreciate if anyone can help me on this.
Thank you
0 comentarios
Respuestas (2)
Mohammad Sami
el 22 de Jul. de 2022
You can try the following.
bin_len = 30;
num_1 = 4;
n = 100;
binfunc = @(~)sum(pow2(randperm(bin_len,num_1)-1));
bnout = arrayfun(binfunc,1:n)
dec2bin(bnout(1),bin_len)
0 comentarios
Voss
el 22 de Jul. de 2022
bin_len = 30;
num_1 = 4;
% initialize numeric vector of 30 zeros
bnout = zeros(1,bin_len);
% place ones at 4 random indices
bnout(randperm(bin_len,num_1)) = 1;
disp(bnout)
% if you want a character (instead of numeric) vector
bnout = char(bnout+'0');
disp(bnout)
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!