Comparing randsample and binning uniform random

I can produce randomly polled (with replacement) values from vector x with probabilities in vector p using randsample with replacement.
X = randsample(N,K,true,W)
I can equivalently do this by using rand and histcounts (specifying edges) that correspond to the values from a cumulative sum on vector p (assuming p is normalized).
edges = [0 cumsum(p)]; edges(end)=1; % for possible rounding error
Y = rand(1,nsamples);
[~,~,bin] = histcounts(Y, edges);
X = x(bin);
My question is: if one of these is better, which one is?

댓글 수: 2

Jan
Jan 2018년 7월 23일
randsample is nicer, without doubt.
yeungor
yeungor 2018년 7월 23일
Thanks, it's more readable, that's for sure.

댓글을 달려면 로그인하십시오.

답변 (0개)

질문:

2018년 7월 23일

댓글:

2018년 7월 23일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by