Random distribution with specific total amount

18 visualizzazioni (ultimi 30 giorni)
How can I generate the 10 random number with total summation value of 1. The random number should be anything between 0 and 1. Thanks.

Risposta accettata

Walter Roberson
Walter Roberson il 14 Mag 2018
Look in the File Exchange for Roger's randfixedsum()
  2 Commenti
htet wai
htet wai il 14 Mag 2018
Thank you for your answer. I tried that function and that generate random number to too many decimal point. I would like to generate random number with only 2 decimal point such 0.28, 0.36 and so on. Thanks again for your support.
Walter Roberson
Walter Roberson il 14 Mag 2018
The only 2 digit decimal numbers that are exactly representable in binary floating point are 0.25, 0.50, and 0.75 . The smallest of these is 0.25, and if you add 10 of those then you would get 2.5, which would exceed your required total of 1.0 . Your task is not possible.
The closest that IEEE 754 double representation gets to 0.28 is 0.2800000000000000266453525910037569701671600341796875
1/100 is not exactly representable in finite binary, exactly the same way that 1/7 is not exactly representable in finite decimal.
You will not be able to do what you want.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by