Comparing randsample and binning uniform random

1 vue (au cours des 30 derniers jours)
yeungor
yeungor le 23 Juil 2018
Commenté : yeungor le 23 Juil 2018
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 commentaires
Jan
Jan le 23 Juil 2018
randsample is nicer, without doubt.
yeungor
yeungor le 23 Juil 2018
Thanks, it's more readable, that's for sure.

Connectez-vous pour commenter.

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by