How to generate a random number between 0 and 180

6 vues (au cours des 30 derniers jours)
Victoria Helm
Victoria Helm le 8 Juil 2021
Modifié(e) : DGM le 12 Juil 2021
Will the following code work to generate a random integer between 0 and 180?
length = 180;
random_location = randi([0 length], 1);

Réponses (2)

Image Analyst
Image Analyst le 12 Juil 2021
Don't use length as a variable name because it's the name of a built-in function. Try it this way:
% Generate a single integer, randomly chosen from the range 0 to 180, inclusive.
maxValue = 180; % Not using length because it's a built-in function.
randomInteger = randi([0, maxValue], 1, 1) % Generate the column vector.

DGM
DGM le 8 Juil 2021
Modifié(e) : DGM le 8 Juil 2021
Yes.
length = 180;
random_location = randi([0 length],1E6,1);
[min(random_location) max(random_location)]
ans = 1×2
0 180
histogram(random_location,'binmethod','integers')
  2 commentaires
Victoria Helm
Victoria Helm le 12 Juil 2021
What is the purpose of including the 1E6?
DGM
DGM le 12 Juil 2021
Modifié(e) : DGM le 12 Juil 2021
That's the height of the array; i'm specifying that I want a 1000000x1 column vector from randi(). The reason I chose to get a large vector instead of 1 number is so that I had enough samples to demonstrate (via histogram) that the results are uniformly distributed between the specified limits. You can specify whatever output size you need.

Connectez-vous pour commenter.

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!

Translated by