在matlab中生成0到1之间的n个随机数,它们的总和不等于1

时间:2016-06-04 13:35:35

标签: random

我想生成0到1之间的n个随机数,它们的总和不等于1。 总和(n在0和1之间的随机数)&lt; = 1 N + 例如:0到1之间的3个随机数: 0.2,0.3,0.4 0.2 + 0.3 + 0.4 = 0.9 <= 1

1 个答案:

答案 0 :(得分:0)

听起来你需要分别生成数字,同时跟踪之前的数字。我们将使用您的示例:

  1. 生成介于0和1之间的第一个数字= 0.2
  2. 1.0 - 0.2 = 0.8:生成0到0.8 = 0.3
  3. 之间的下一个数字
  4. 0.8 - 0.3 = 0.5:生成介于0和0.5之间的下一个数字= 0.4