0
私はルーレットホイールの選択(http://www.edc.ncl.ac.uk/assets/hilite_graphics/rhjan07g02.png)を実行しており、n
要素の選択を計算したいと思います。どのようにしてループの使用を避けることができますか?(ルーレットホイール)配列内の複数の要素をソートする
例えば、私は、次のprob
ベクトル有する:、
cumprob = cumsum(prob);
selected = find(element<=prob,1,'first')
選択= 2
しかし:
prob = [0.1 0.3 0.4 0.15 0.05];
単一element=0.2
の選択であろうがの選択を計算するのはどうですか要素?直感的で遅い方法は次のようになります。
cumprob = cumsum(prob);
for id = 1:1:n
selected(id) = find(element(id)<=prob,1,'first');
end
これがためのループの使用を避けて実装する方法はありますか?
ありがとうございます。
あなたの例が実行されません。あなたは決して要素を定義しません – Suever
ええ、それは擬似コードでした。私は質問を更新します... –
'cumprob'を使うつもりはありませんか? – Suever