Contenu principal

Nombres aléatoires dans une plage spécifique

Cet exemple montre comment créer un tableau de nombres aléatoires à virgule flottante tirés d’une distribution uniforme dans l’intervalle ouvert (50, 100).

Par défaut, rand renvoie des valeurs normalisées (entre 0 et 1) tirées d’une distribution uniforme. Pour remplacer la plage de distribution par une nouvelle plage, (a,b), multipliez chaque valeur par la largeur de la nouvelle plage, (b-a), puis décalez chaque valeur de a.

D’abord, initialisez le générateur de nombres aléatoires pour que les résultats de cet exemple soient reproductibles.

rng(0,'twister');

Créez un vecteur de 1 000 valeurs aléatoires. Utilisez la fonction rand pour tirer les valeurs d’une distribution uniforme dans l’intervalle ouvert (50,100).

a = 50;
b = 100;
r = (b-a).*rand(1000,1) + a;

Vérifiez que les valeurs de r se trouvent dans la plage spécifiée.

r_range = [min(r) max(r)]
r_range = 1×2

   50.0261   99.9746

Le résultat est l’intervalle ouvert (50,100).

Notez que certaines combinaisons de a et b font qu’il est théoriquement possible que vos résultats incluent a ou b. En pratique, il est extrêmement improbable que cela se produise.

Voir aussi

Rubriques