1. 程式人生 > >matlab學習筆記:隨機模擬

matlab學習筆記:隨機模擬

按概率抽取元素

       函式介紹: 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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -