Floating numbers generation in a range

I Want to generate an array of 100 Different random floating numbers in the range 2.2 to 22. Please help me with this.

Réponses (2)

Roger Stafford
Roger Stafford le 21 Sep 2013

0 votes

What kind of probability distribution do you wish these numbers to have over this interval? If it is to be uniform use 'rand' with appropriate scaling and offset.

4 commentaires

BISWA
BISWA le 21 Sep 2013
Thanks for responding. I had tried rand but the output was showing integers only.
Roger Stafford
Roger Stafford le 21 Sep 2013
I think you were using 'randi', not 'rand'. The 'randi' function returns only integers, whereas 'rand' returns fractional values. The probability of getting an integer output from 'rand' is exceedingly small. I have personally never seen one.
BISWA
BISWA le 21 Sep 2013
Please post the code here which will generate an array of 50 floating numbers between 2.2 to 22.
You never looked up rand() in the help did you? Otherwise you would have noticed Example 1 which solves your problem
Example 1
Generate values from the uniform distribution on the interval [a,b]:
r = a + (b-a).*rand(100,1);
and I'm pretty sure you would have figured out a is 2.2 and b is 22 and you wouldn't have needed to wait for Simon to do it for you. Please mark the answer as Accepted.

Connectez-vous pour commenter.

Simon
Simon le 21 Sep 2013
19.8*rand(50, 1) +2 .2

Catégories

Question posée :

le 21 Sep 2013

Community Treasure Hunt

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

Start Hunting!

Translated by