C ++ эквивалент randsample Matlab

Есть ли какой-нибудь cpp-эквивалент randsample в Matlab. Функция randsample в Matlab выглядит следующим образом:

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

который возвращает взвешенную выборку, взятую с заменой, используя вектор положительных весов w, длина которого равна n. Вероятность того, что целое число i выбрано для записи y, равна w (i) / sum (w).

например:

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

будет иметь выход

CTTCGTCGGG

Если в Matlab не существует библиотеки cpp, имеющей такую ​​же функцию, как randsample, как написать эквивалентную функцию в cpp?

-1

Решение

Случайная библиотека повышения очень помогает с такими вещами. Это не просто, но, по крайней мере, они дают вам возможность рисовать выборки из дискретного распределения, определяемого весами.

0

Другие решения


По вопросам рекламы [email protected]