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

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

你可能感兴趣的:(Matlab)