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.

 채택된 답변

Walter Roberson
Walter Roberson 2018년 5월 14일

0 개 추천

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

댓글 수: 2

htet wai
htet wai 2018년 5월 14일
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에 대해 자세히 알아보기

질문:

2018년 5월 14일

댓글:

2018년 5월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by