How can I generate a random number in MATLAB between 13 and 20?
问题:
回答1:
If you are looking for Uniformly distributed pseudorandom integers use:
randi([13, 20])
回答2:
http://www.mathworks.com/help/techdoc/ref/rand.html
n = 13 + (rand(1) * 7);
回答3:
r = 13 + 7.*rand(100,1);
Where 100,1 is the size of the desidered vector
回答4:
ocw.mit.edu is a great resource that has helped me a bunch. randi is the best option, but if your into number fun try using the floor function with rand to get what you want.
I drew a number line and came up with
floor(rand*8) + 13
回答5:
You can also use:
round(mod(rand.*max,max-1))+min
回答6:
Generate values from the uniform distribution on the interval [a, b].
r = a + (b-a).*rand(100,1);
回答7:
if you are looking to generate all the number within a specific rang randomly then you can try ` r = randi([a b],1,d)
a=start point b=end point d= how many number you want to generate but keep in mind that d should be less than or equal to b-a
回答8:
Best solution is randint
, but this function produce integer numbers.
You can use rand
with rounding function
r = round(a + (b-a).*rand(m,n));
This produces Real random number between a and b , size of output matrix is m*n
回答9:
if you need a floating random number between 13 and 20
(20-13).*rand(1) + 13
if you need an integer random number between 13 and 20
floor((20-13).*rand(1) + 13)