C ++相当于Matlab的randsample

时间:2014-05-27 09:06:06

标签: c++ matlab equivalence

在Matlab中是否存在等同于randsample的cpp? Matlab中的函数randsample如下:

y = randsample(n,k,true,w)

使用长度为n的正权重w的向量返回使用替换的加权样本。为y的条目选择整数i的概率是w(i)/ sum(w)。

例如:

R = randsample('ACGT', 10,true,[0.15 0.35 0.35 0.15])

将有一个输出

CTTCGTCGGG

如果没有现有的cpp lib与matlab中的randsample功能相同,那么如何在cpp中编写等效函数?

1 个答案:

答案 0 :(得分:0)

随机的boost库对这类东西有很大的帮助。这不是直接的,但至少它们为您提供了一种从权重定义的离散分布中抽取样本的方法。