round random a number
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Vadim Tambovtsev
am 26 Okt. 2016
Bearbeitet: Bruno Luong
am 14 Sep. 2018
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.
0 Kommentare
Akzeptierte Antwort
James Tursa
am 26 Okt. 2016
Bearbeitet: James Tursa
am 26 Okt. 2016
For purely random rounding regardless of the fractional part:
x = your number
result = round(floor(x)+rand);
1 Kommentar
Bruno Luong
am 13 Sep. 2018
Bearbeitet: Bruno Luong
am 14 Sep. 2018
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)
Weitere Antworten (1)
Layan Alshuhumi
am 13 Sep. 2018
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
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!