how to create random double in specific range?
52 views (last 30 days)
Show older comments
HI, randi function Can only generate integers in specific range.
num = randi([1,3],[1,10],'double');
how to create double numbers in range such as [0.2,1.2]?
0 Comments
Accepted Answer
Cyrus
on 5 Dec 2016
Edited: Image Analyst
on 1 Apr 2023
For generating double numbers you can use:
r = rand( 1, 3 ,'double')
and to have them in a specific range you can use the following source: https://www.mathworks.com/help/matlab/math/floating-point-numbers-within-specific-range.html
which is:
a = 50;
b = 100;
r = (b-a).*rand(1000,1) + a;
thus, finally:
numElements = 10;
a = 0.2;
b = 1.2;
r= (b-a).*rand(1, numElements, 'double') + a; % [SL: added the missing "+a" term]
The result:
r
0 Comments
More Answers (1)
Carolina Escobar
on 1 Apr 2023
e = rand(0.1,1)
1 Comment
Steven Lord
on 1 Apr 2023
This will throw an error.
e = rand(0.1, 1)
As the error message indicates, the size inputs to rand must contain integer values.
See Also
Categories
Find more on Random Number Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!