Comparing randsample and binning uniform random

2 visualizzazioni (ultimi 30 giorni)
yeungor
yeungor il 23 Lug 2018
Commentato: yeungor il 23 Lug 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 Commenti
Jan
Jan il 23 Lug 2018
randsample is nicer, without doubt.
yeungor
yeungor il 23 Lug 2018
Thanks, it's more readable, that's for sure.

Accedi per commentare.

Risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by