Choose random between two option.
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, i want to choose randomly between the "boy" or "girl", how can i do that? Each has the same probability of 50%.
i want to calculate this question:
In a country in which people only want boys … … every family continues to have children until they have a boy. If they have a girl, they have another child. If they have a boy, they stop. What is the proportion of boys to girls in the country? Tnx
0 commentaires
Réponses (2)
Image Analyst
le 23 Mar 2017
Hint:
sexes = {'Boy', 'Girl'};
r = randi([1, 2], 1) % Get a 1 or 2 randomly.
thisSex = sexes(r) % Extract the sex for this random number.
3 commentaires
Walter Roberson
le 22 Déc 2020
Modifié(e) : Walter Roberson
le 22 Déc 2020
r = rand() > 0.60
thisSex = sexes{r+1}
By the way: my modeling says 2/3 girls on average.
Valerie Reinisch
le 22 Déc 2020
Tried it in the meanwhile with this:
r = binornd(1,0.6)
But thanks a lot for this quick answer! (:
Roger Stafford
le 23 Mar 2017
Modifié(e) : Roger Stafford
le 23 Mar 2017
There should be no need to go through such a simulation. For each birth the probability that a boy is born is one-half regardless of all the tricks the family may play.
However if you are addicted to more complicated computations, the average number of boys per family is:
1/2*1 + 1/4*1 + 1/8*1 + ... = 1
and the average number of girls per family is:
1/2*0 + 1/4*1 + 1/8*2 + 1/16*3 + 1/32*4 + ... = 1
You can use symsum to verify these.
1 commentaire
Walter Roberson
le 22 Déc 2020
trials = 1E6;
isboy = rand(trials,53) <= 0.5;
child_number_for_boy = sum(cumprod(~isboy,2),2) + 1;
avg_number_of_girls = mean(child_number_for_boy - 1)
max_number_of_girls = max(child_number_for_boy) - 1
Voir également
Catégories
En savoir plus sur Descriptive Statistics and Visualization 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!