round random a number
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
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
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
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
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!