Есть ли какой-нибудь 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?
Случайная библиотека повышения очень помогает с такими вещами. Это не просто, но, по крайней мере, они дают вам возможность рисовать выборки из дискретного распределения, определяемого весами.