フィルターのクリア

How do I create a random double generator where only multiples of .05 are used?

3 ビュー (過去 30 日間)
Giann Geocadin
Giann Geocadin 2014 年 8 月 27 日
回答済み: Geoff Hayes 2014 年 8 月 27 日
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.

採用された回答

Geoff Hayes
Geoff Hayes 2014 年 8 月 27 日
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 件)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by