我想生成一个随机向量,使得元素加起来为1.这在Octave中可能吗?
我有一堆相互排斥的事件(比如说100),我想给他们分配随机概率(非零,希望正态分布),使他们的概率总和为1.有没有办法做那在Octave?
我知道rand(1,100)
但我不知道是否有可能确保这些值总和为常数。
答案 0 :(得分:3)
生成随机向量。它总计为S
。将所有元素除以S
- 它现在总计为1
。
x = rand(1, 100)
x /= sum(x)
sum(x)
# ==> 1
编辑:添加了代码,重命名了令人困惑的变量。