How to create Random Binary Number with fix amount of 1 and 0?
6 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (2 件)
Mohammad Sami
2022 年 7 月 22 日
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 件のコメント
Voss
2022 年 7 月 22 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Random Number Generation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!