我正在尝试创建一个随机向量,其中包含5个元素(从0到1),其中包含2个条件
例如,不允许使用此向量(因为一个元素大于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]
答案 0 :(得分: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 。