Random distribution with specific total amount

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.

 Réponse acceptée

Walter Roberson
Walter Roberson le 14 Mai 2018

0 votes

Look in the File Exchange for Roger's randfixedsum()

2 commentaires

htet wai
htet wai le 14 Mai 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.
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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by