我正在执行轮盘赌选择(http://www.edc.ncl.ac.uk/assets/hilite_graphics/rhjan07g02.png),我想计算n
元素的选择。我怎样才能避免使用循环?
例如,我有以下prob
向量:
prob = [0.1 0.3 0.4 0.15 0.05];
单曲的选择element=0.2
是:
cumprob = cumsum(prob);
selected = find(element<=prob,1,'first')
选择 = 2
但是,计算n
元素的选择呢?直观而缓慢的方法是:
cumprob = cumsum(prob);
for id = 1:1:n
selected(id) = find(element(id)<=prob,1,'first');
end
有什么方法可以避免使用 for 循环来实现这一点?
提前致谢。