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 个评论

randsample is nicer, without doubt.
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