-1

Matlab 中是否有任何与 randsample 等效的 cpp。Matlab中函数randsample如下:

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

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

例如:

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

会有输出

CTTCGTCGGG

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

4

1 回答 1

0

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

于 2014-05-27T09:28:55.570 回答