How to generate a random number between 0 and 180
    7 views (last 30 days)
  
       Show older comments
    
Will the following code work to generate a random integer between 0 and 180?
length = 180;
random_location = randi([0 length], 1);
0 Comments
Answers (2)
  Image Analyst
      
      
 on 12 Jul 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.
0 Comments
  DGM
      
      
 on 8 Jul 2021
        
      Edited: DGM
      
      
 on 8 Jul 2021
  
      Yes.
length = 180;
random_location = randi([0 length],1E6,1);
[min(random_location) max(random_location)]
histogram(random_location,'binmethod','integers')
2 Comments
  DGM
      
      
 on 12 Jul 2021
				
      Edited: DGM
      
      
 on 12 Jul 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.
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!


