0

我正在尝试创建一个包含 5 个元素(从 0 到 1)且具有 2 个条件的随机向量

  1. 所有元素必须小于 0.5
  2. 向量之和必须为 1

例如这个向量是不允许的(因为一个元素大于 0.5)

[0.6, 0.1, 0.1, 0.1, 0.1]

例如这个向量是不允许的(因为总和大于 1)

[0.4, 0.2, 0.2, 0.2, 0.2]

例如这个向量是允许的

[0.3, 0.25, 0.15, 0.15, 0.15]
4

1 回答 1

1

我也使用小于 0.5 的值来缩放随机数,然后对总和进行归一化。

r = 0 + 0.45*rand(5,1);
s = sum(r);
norm_r = r/s

范围始终小于 0.5,总和始终等于 1。我不知道可以将 rand 变量乘以多少数字,但它必须小于 0.5,否则在归一化后,一个数字可能大于 0.5。

于 2013-09-29T01:24:12.870 回答