round random a number

조회 수: 6 (최근 30일)
Vadim Tambovtsev
Vadim Tambovtsev 2016년 10월 26일
편집: Bruno Luong 2018년 9월 14일
Hello,
Suppose we have a number "3.76" and we want to round it either to 3 or 4 in a random way, how to do it? I didn't find the proper command in Matlab.

채택된 답변

James Tursa
James Tursa 2016년 10월 26일
편집: James Tursa 2016년 10월 26일
For purely random rounding regardless of the fractional part:
x = your number
result = round(floor(x)+rand);
  댓글 수: 1
Bruno Luong
Bruno Luong 2018년 9월 13일
편집: Bruno Luong 2018년 9월 14일
James's solution gives equi-probability between 3 and 4. If one want to simulate some sort of quantification noise, might be it is desired to have larger probability of 4 than 3 for 3.76 as input, something like
round(x+rand-0.5)
or (almost) equivalently
floor(x + rand)

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

추가 답변 (1개)

Layan Alshuhumi
Layan Alshuhumi 2018년 9월 13일
Make two variables, “Nmax” and “Nmin” and set Nmax to 5 and Nmin to 3 using the first two lines. On the third line, write the code to generate a random floating point number between 3 and 5 referencing your predefined variable

카테고리

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