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일

2 개 추천

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일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

질문:

2016년 10월 26일

편집:

2018년 9월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by