How can i create a sequence where the symbols have different probabilities?

2 vues (au cours des 30 derniers jours)
Gn Gnk
Gn Gnk le 9 Juil 2020
Modifié(e) : Apoorv Singh le 9 Juil 2020
Hello ,
I have 4 symbols 0,1,2,3 . How can i create a sequence with these symbols where every symbol should have each own probabilty .For example i want the symbols 1,2 to appear with probability q , but in the other hand the symbols 1,4 to appear with probability (1-q)/2.
In my last excersice i was asked to create a sequence where these symbols have the same probability 1/4 so i wrote the code below:
C = floor(rand(1,n)*4);
But i am little confused about this issue .Any help would be valuable.
  1 commentaire
Walter Roberson
Walter Roberson le 9 Juil 2020
hint:
probabilities 0.1, 0.23, 0.6, 0.07
random number < 0.1 is the first symbol
random number between 0.1 and 0.1+0.23 is the second symbol
random number between 0.1+0.23 and 0.1+0.23+0.6 is the third symbol...

Connectez-vous pour commenter.

Réponses (1)

Apoorv Singh
Apoorv Singh le 9 Juil 2020
Modifié(e) : Apoorv Singh le 9 Juil 2020

Walter has suggested a nice method. You basically partition the range [0:1] into partitions proportional to the probabilities. As calling rand outputs a decimal in the range [0:1] with equal probability, your problem will be solved.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by