# How to round numbers using the decimals as a probability?

6 visualizzazioni (ultimi 30 giorni)
Aron il 13 Apr 2023
Commentato: Walter Roberson il 13 Apr 2023
Hi, I am trying to create code where the decimals are used as probability of how the value is rounded. For example, I have array of the following values: [ 1.04 ; 0.96 ; 0.22 ; 1.56 ] and for the first element there is a 4% chance the value gets rounded up to 2 and a 96% chance it gets rounded to 1. For the second element there is a 96% probability that it gets rounded up to 1 and a 4% it gets rounded to 0.
##### 1 CommentoMostra NessunoNascondi Nessuno
Walter Roberson il 13 Apr 2023
What is the rule? Round down 96% of the time for values with even row numbers, and round down 96% of the time for values with odd row numbers? If so then should that be modified if there are multiple columns ?

Accedi per commentare.

### Risposta accettata

David Hill il 13 Apr 2023
A=10*rand(1,10)
A = 1×10
3.8438 8.9825 9.7798 3.3108 6.2760 5.4551 4.8986 1.2530 4.2234 9.1930
B=floor(A)+((A-floor(A))>rand(1,10))
B = 1×10
3 9 9 3 7 6 5 1 5 9
##### 3 CommentiMostra 2 commenti meno recentiNascondi 2 commenti meno recenti
Walter Roberson il 13 Apr 2023
No, each entry in A should be rounded individually.
B=floor(A)+((A-floor(A))>rand(size(A)))

Accedi per commentare.

### Categorie

Scopri di più su Multidimensional Arrays in Help Center e File Exchange

R2022b

### Community Treasure Hunt

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

Start Hunting!