random integer condition selection

조회 수: 2 (최근 30일)
abdul rehman
abdul rehman 2020년 7월 10일
댓글: John D'Errico 2020년 7월 10일
r1 = rand((randi(10)),1);
from these 10 random values how can I select only those that are > than 0.5

채택된 답변

madhan ravi
madhan ravi 2020년 7월 10일
Wanted = r1(r1 > .5)

추가 답변 (1개)

John D'Errico
John D'Errico 2020년 7월 10일
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
abdul rehman
abdul rehman 2020년 7월 10일
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 2020년 7월 10일
Your stated final requirement is the result must lie between .5 and 1. I showed you how to do that.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Random Number Generation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by