random no.

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

1 件のコメント

Oleg Komarov
Oleg Komarov 2012 年 3 月 18 日
Yes, you can.

サインインしてコメントする。

回答 (4 件)

Image Analyst
Image Analyst 2012 年 3 月 18 日

1 投票

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 件のコメント

Jan
Jan 2012 年 3 月 18 日
While the solution in easy, not to say trivial, the suggestion to read the documentation is an will be valuable. +1

サインインしてコメントする。

the cyclist
the cyclist 2012 年 3 月 18 日

0 投票

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 2012 年 3 月 18 日

0 投票

naively, this works: 38*(rand-0.5)
Sahyadri Vibhu
Sahyadri Vibhu 2012 年 3 月 20 日

0 投票

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)

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

質問済み:

2012 年 3 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by