Random number between two decimal numbers

조회 수: 15 (최근 30일)
Evica Smilkoska
Evica Smilkoska 2022년 4월 15일
댓글: Image Analyst 2022년 4월 16일
Hi, how can a generate random number between two decimal numbers? For example i want to generate array 24x1 and for each row i have different interval, for the first row the interval is 0.124 to 0.908 and for second row 0.325 to 0.846. The generated values cant be above or below the interval.

채택된 답변

Walter Roberson
Walter Roberson 2022년 4월 15일
intervalmins = [0.124, 0.325];
intervalmaxs = [0.908, 0.846];
output = rand(length(intervalmins), 1) .* (intervalmaxs(:) - intervalmins(:)) + intervalmins(:)
output = 2×1
0.9058 0.4439

추가 답변 (1개)

Image Analyst
Image Analyst 2022년 4월 15일
Did you check the documentation. The second example is
Generate a 10-by-1 column vector of uniformly distributed numbers in the interval (-5,5).
r = -5 + (5+5)*rand(10,1)
  댓글 수: 2
Evica Smilkoska
Evica Smilkoska 2022년 4월 16일
I have tried this version but after 10000 iterations the min and max of the decimal intervals are not kept, and i get values lower than the min value of the interval.
Image Analyst
Image Analyst 2022년 4월 16일
Strange, since it's essentially the same formula that you accepted in Walter's answer. You changed the numbers in the MATLAB example to what you wanted your range to be right? Either inside your loop or by setting up a vector with all the parameters in advance like Walter showed you.
I can't really say more since you never uploaded your code. But it sounds like you somehow got it working afterwards because you accepted an answer.

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

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by