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.

 采纳的回答

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

2 个评论

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.

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by