Comment puis-je générer un nombre aléatoire dans MATLAB entre 13 et 20?
Si vous recherchez des entiers pseudo-aléatoires uniformément répartis, utilisez:
randi([13, 20])
http://www.mathworks.com/help/techdoc/ref/Rand.html
n = 13 + (Rand(1) * 7);
r = 13 + 7.*Rand(100,1);
Où 100,1 est la taille du vecteur désiré
ocw.mit.edu est une excellente ressource qui m'a beaucoup aidé. randi est la meilleure option, mais si votre numéro est amusant, essayez d’utiliser la fonction Floor avec Rand pour obtenir ce que vous voulez.
J'ai dessiné une droite numérique et suis venu avec
floor(Rand*8) + 13
Vous pouvez aussi utiliser:
round(mod(Rand.*max,max-1))+min
La meilleure solution est randint
, mais cette fonction produit des nombres entiers.
Vous pouvez utiliser Rand
avec la fonction d'arrondi
r = round(a + (b-a).*Rand(m,n));
Ceci produit un nombre aléatoire réel entre a et b, la taille de la matrice de sortie est m * n
si vous cherchez à générer aléatoirement tout le nombre dans un rang donné, vous pouvez essayer `r = randi ([a b], 1, d)
a = point de départ b = point final d = combien de nombres vous souhaitez générer, mais gardez à l'esprit que d doit être inférieur ou égal à b-a
Génère des valeurs à partir de la distribution uniforme sur le fichier intervalle [a, b].
r = a + (b-a).*Rand(100,1);