Random Weighted Selection

Randomly pick n from m>=n elements, biased with given linear weights without replacement.
286 download
Aggiornato 21 mar 2012

Visualizza la licenza

Randomly pick n from size(h)>=n
elements, biased with linear weights as
given in h, without replacement.

Works with infinity and zero weighting
entries, but always picks them
sequentially in this case.

Syntax: Y=randweightedpick(h,n)

Example:

randweightedpick([2,0,5,Inf,3,Inf,0],7)

returns [4,6,...,2,7] all the time as
[4,6] are infinities and [2,7] are
zeros; in between, the results will be
a permutation of [1,3,5]:

[...,3,5,1,...] 30.0% of the time {5/(2+3+5) * 3/(2+3)}

[...,3,1,5,...] 20.0% of the time {5/(2+3+5) * 2/(2+3)}

[...,5,3,1,...] 21.4% of the time {3/(2+3+5) * 5/(2+5)}

[...,1,3,5,...] 12.5% of the time {2/(2+3+5) * 5/(3+5)}

[...,5,1,3,...] 8.6% of the time {3/(2+3+5) * 2/(2+5)}

[...,1,5,3,...] 7.5% of the time {2/(2+3+5) * 3/(3+5)}

Y returns the vector of indices
corresponding to the weights in h.

Cita come

Adam Gripton (2025). Random Weighted Selection (https://it.mathworks.com/matlabcentral/fileexchange/35790-random-weighted-selection), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2012a
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Versione Pubblicato Note della release
1.0.0.0