random no.

hi, can i get random no. in specific range ?
between 19 , -19
thanks

Antworten (4)

Image Analyst
Image Analyst am 18 Mär. 2012

1 Stimme

You didn't read the help on rand(), did you? If you had, you would have seen the answer to your question as the very first example:
Example 1
Generate values from the uniform distribution on the interval [a, b]:
r = a + (b-a).*rand(100,1);
Needless to say, a=-19 and b = 19 in your case, and 100 is the number of random numbers to be generated, or:
r = -19 + 38 .* rand(100, 1);

1 Kommentar

Jan
Jan am 18 Mär. 2012
While the solution in easy, not to say trivial, the suggestion to read the documentation is an will be valuable. +1

Melden Sie sich an, um zu kommentieren.

the cyclist
the cyclist am 18 Mär. 2012

0 Stimmen

Depending on whether you want to draw from a discrete or a continuous distribution, you will likely want to use either the randi() or unifrnd() function.
Sean Lawson
Sean Lawson am 18 Mär. 2012

0 Stimmen

naively, this works: 38*(rand-0.5)
Sahyadri Vibhu
Sahyadri Vibhu am 20 Mär. 2012

0 Stimmen

As Sean Lawson said in the above comment, using -19+38*rand will generate a random real number in the range (-19 19)
to generate random integers use
randi ([lower_limit upper_limit],a,b,c...)
which generates an axbxcx..... random integer array in the range (lower_limit upper_limit)

Kategorien

Tags

Gefragt:

am 18 Mär. 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by