从有概率的数组中选择随机数
57次观看(过去30天)
显示旧注释
我有一个数组的三个元素:S=[4 3.9 3.8],我想随机选择这三个数字中的一个。选4的概率是0.5,选3.9的概率是0.4,选3.8的概率是0.1。
谁能帮帮我?
答案(1)
天空缝匠肌
2020年2月20日
你可以查询累积概率:
S = [4, 3.9, 3.8];
W = [0.5, 0.4, 0.1];
W = W /sum(W);确保概率加起来等于1。
Cp = [0, cumsum(w)];
R = rand;
Ind = find(r>cp, 1,)“最后一次”);
结果= S(ind)