Random Binary Sequence Generator

85 views (last 30 days)
I need to generate a Random Binary Sequence of 1x10000 size. Purely Random 1's and 0's.
I had implemented it as follows and it does the job with no complaints.
rand_bin = round(0.75*rand(1,10000));
However, are there any Efficient Implementations for this, probably a specific function which was built for this or something?
Thanks.
  4 Comments
Roger Stafford
Roger Stafford on 3 Feb 2014
Edited: Roger Stafford on 3 Feb 2014
I assumed that was what was wanted. Otherwise round(rand(1,10000)) is more efficient.
Sam
Sam on 4 Feb 2014
Hi Jos & Roger. Thanks! I didn't realize that the 0.75 was redundant. My idea was to force the random generation to multiply with 0.75 and rounding it but i realize now that it is redundant and forces more 0's..
I agree with Roger's 2nd answer thanks for the clarifications...
Cheers!

Sign in to comment.

Accepted Answer

Wayne King
Wayne King on 3 Feb 2014
use randi()
x = randi([0 1],10000,1);
  3 Comments
Nitin SHrinivas
Nitin SHrinivas on 1 Aug 2021
If we want to generate all unique coloums or rows is there a function to do so? any suggestions

Sign in to comment.

More Answers (2)

Jos (10584)
Jos (10584) on 3 Feb 2014
Here are two suggestions:
% with 0 <= P <=1
RBS = rand(1,N) < P
% will give roughly a proportion of P ones among N values
% exactly M ones among N values
RBS = false(1,N) ;
RBS(1:M) = true ;
RBS = RBS(randperm(numel(RBS)
Note: I prefer to store the output as logical arrays (true/false = 1/0) that occupy less memory than double arrays.
  2 Comments
Sam
Sam on 4 Feb 2014
Hi. Thanks! it works as well but i implemented the earlier one as i needed a 1 line solution since the rest of my code is quite lengthy.
Jos (10584)
Jos (10584) on 6 Feb 2014
That's a poor reason to use a one-lined solution ;-)
Long but efficient and readable code is much preferred over short and efficient but unreadable code.
(btw rand(1,N)<P is both short and readable)

Sign in to comment.


abderrahim rhoulami
abderrahim rhoulami on 19 Sep 2022
A=randi([0],50,10): Whos

Categories

Find more on Programming in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!