Producing random numbers in Matlab?
古いコメントを表示
How can I produce random binary numbers with exact number of zeros or ones? for example:
[0 1 0 1 0 1 0 0 1 0] ===> number of ones are 4,
[1 1 0 0 1 0 0 1 0 0] ===> again number of ones are 4,
[1 0 0 1 0 0 0 0 0 1] ===> number of ones are 3, which is not allowed.
I just want exact number of ones in output of random sets.
採用された回答
その他の回答 (3 件)
Torsten
2015 年 7 月 24 日
x=zeros(10);
[y,idx]=datasample(1:10,4,'Replace',false);
x(idx)=1;
Best wishes
Torsten.
2 件のコメント
Azzi Abdelmalek
2015 年 7 月 24 日
This doesn't work
Azzi Abdelmalek
2015 年 7 月 24 日
With randi, you can get the same number more then once
Azzi Abdelmalek
2015 年 7 月 24 日
Using rand
n=4
m=6
a=[ones(1,n), zeros(1,m)]
[~,idx]=sort(rand(1,m+n))
out=a(idx)
カテゴリ
ヘルプ センター および File Exchange で Random Number Generation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!