按概率抽取元素
函数介绍: 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -