how to create random double in specific range?
44 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Cyrus
le 5 Déc 2016
Modifié(e) : Image Analyst
le 1 Avr 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 commentaires
Plus de réponses (1)
Carolina Escobar
le 1 Avr 2023
e = rand(0.1,1)
1 commentaire
Steven Lord
le 1 Avr 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.
Voir également
Catégories
En savoir plus sur Random Number Generation 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!