matlab矢量与元素条件和总和矢量条件

时间:2013-09-29 01:04:24

标签: matlab vector conditional-statements

我正在尝试创建一个随机向量,其中包含5个元素(从0到1),其中包含2个条件

  1. 所有元素必须小于0.5
  2. 向量的总和需要为1
  3. 例如,不允许使用此向量(因为一个元素大于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]
    

1 个答案:

答案 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 。