按概率抽取元素
函数介绍: A是一个向量,代表各个元素的值,P是每个元素选中的概率,请自行保证概率和为1;返回值a是函数随机抽取到的值。
function a = rand_select(A, P)
p = rand();
i = 1;
while (P(i) < p)
p = p - P(i);
i = i + 1;
end
a = A(i);
end
使用案例
>> rand_select([1 2 3 4], [.5 .3 .1 .1])
ans =
2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -