Random Binary Sequence Generator
307 views (last 30 days)
Show older comments
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
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.
Accepted Answer
Wayne King
on 3 Feb 2014
use randi()
x = randi([0 1],10000,1);
3 Comments
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
More Answers (4)
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
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)
Ayushi Dadhich
on 3 Nov 2020
I want a code to generate this output.
1 Comment
Siddharth Bhalerao
on 28 Dec 2020
This space is not for homework/assignments. Ask a specific question. Explain what you have done for the problem you are facing, then ask the question. There are so many experts here, you will definitely get the answers.
Therefore, I will suggest you to update the question and explain the problem clearly.
See Also
Categories
Find more on Creating and Concatenating Matrices 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!