How do I create a random double generator where only multiples of .05 are used?
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Giann Geocadin
le 27 Août 2014
Réponse apportée : Geoff Hayes
le 27 Août 2014
I am trying to randomly generate a double, however it needs to be within .25 and .7 and it has to be divisible by .05.
0 commentaires
Réponse acceptée
Geoff Hayes
le 27 Août 2014
Giann - you could create an array of all the numbers within the interval [0.25, 0.7] that are multiples of 0.5, and then just randomly pick one.
% create an array of choices, where each is a multiple of 0.05
choices = [25:5:70]/100.0;
% randomly pick one using *randi*
randomDbl = choices(randi([1 length(choices)],1,1));
If we take your original interval and multiply it by 100, then we get [25,70]. Then we can create the array of choices which is every integer from 25 to 70 using a step size of 5. When we divide the result by 100, we have all doubles within the interval [0.25,0.7] that are multiples of 0.05.
Now we use randi to randomly choose an index between 1 and the number of choices, length(choices), and use that index to pick our "random" double.
Try the above and see what happens!
0 commentaires
Plus de réponses (0)
Voir également
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!