Does using the randperm function affect the probability?

3 vues (au cours des 30 derniers jours)
Jaime Wu
Jaime Wu le 28 Août 2018
Commenté : Jaime Wu le 28 Août 2018
I am trying to select random points from an array with equal probability. If i use the randperm function would that affect the probability of selecting any points from the array since there is no replacement? For example, if the array is 5x5, each point has 1/25 probability being selected. After selecting 1 point (without replacement) would that mean the probability for the remaining points increase to 1/24?
I am a bit confused if that is how this function work, would love if someone could explain this in a bit of a simpler way. Thanks!

Réponses (2)

KALYAN ACHARJYA
KALYAN ACHARJYA le 28 Août 2018
Modifié(e) : KALYAN ACHARJYA le 28 Août 2018
No
p=randperm(n) returns a row vector containing a random permutation of the integers from 1 to n inclusive. depending on the state of the random number generator. if random number generation the probability of selection is always the same.
  1 commentaire
Jaime Wu
Jaime Wu le 28 Août 2018
Hi, even if i do something like this, the probability will always be equal?
a = randperm(256*256,5)
I was thinking that if i chose more than 1 value the probability will be affected? Kind of like drawing out coloured balls out of a bag and not replacing it

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 28 Août 2018
The code for randperm used to be approximately
[~, random_permutation] = sort( rand(1, N) );
The random values are chosen completely independently of each other, and then the ordering of those random values is found, and that is the random permutation. Determining the ordering obviously does not change the numeric values.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by