MATLAB Answers

random integer condition selection

10 views (last 30 days)
r1 = rand((randi(10)),1);
from these 10 random values how can I select only those that are > than 0.5

  0 Comments

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 10 Jul 2020
Wanted = r1(r1 > .5)

  0 Comments

Sign in to comment.

More Answers (1)

John D'Errico
John D'Errico on 10 Jul 2020
You want to generate a random number of random numbers? With an additional constraint that all are greater than 0.5? This is far esier than you think. (You had an unnecessary pair of parens in your code.)
r1 = rand(randi(10),1);
So that generate a random length vector of uniform random numbers between 0 and 1. But if you wanted to have all of them be numbers between .5 and 1, this is easy.
r1 = (1 + rand(randi(10),1))/2;
So adding 1 to a number between 0 and 1 makes it lie between 1 and 2. If you then divide by 2, it will fall always betweem .5 and 1.
The result is a vector of random length, where all lie between .5 and 1.

  2 Comments

abdul rehman
abdul rehman on 10 Jul 2020
Actually, I want random numbers list between 0 and 1, and select only those > 0.5. But if I generate list between.05 and 1 so it will not meet the requirement that is 0-1. Can you answer in this direction
John D'Errico
John D'Errico on 10 Jul 2020
Your stated final requirement is the result must lie between .5 and 1. I showed you how to do that.

Sign in to comment.