MATLAB Answers

How can I create a random vector with at most 1 in it?

1 view (last 30 days)
I tried to make a random vector of 0's and 1's like the code below:
v = round(rand(1,n)) % where n is the dimension of the vector
But I'd like to give it a condition to avoid the existence of 1 more than one time. Also, I want the index to be selected randomly.
For example, this:
[1 1 0 0] % where n = 4
is not accepted, but this:
[1 0 0 0]
%or
[0 1 0 0]
either of them will be accepted.
So any help please? Thanks!

Accepted Answer

Guillaume
Guillaume on 27 Jun 2018
Edited: Guillaume on 27 Jun 2018
Another option:
v = randperm(n) == n
or
v = randperm(n) == 1
  2 Comments
Ezz El-din Abdullah
Ezz El-din Abdullah on 27 Jun 2018
Thanks a lot Guillaume and Stephen. Appreciate your help, both :)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!