generate random numbers in range from (0.8 to 4)

416 views (last 30 days)
Hi How to generate 20 random numbers in range from (0.8 to 4) Thanks
  1 Comment
Jan
Jan on 6 Nov 2017
Edited: Jan on 6 Nov 2017
@Arnab: See Azzi's and Image Analyst's answers, which contains exactly the same.

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 11 Mar 2013
Edited: Azzi Abdelmalek on 11 Mar 2013
xmin=0.8
xmax=4
n=20
x=xmin+rand(1,n)*(xmax-xmin)
  3 Comments
Steven Lord
Steven Lord on 19 Jan 2021
xmin=0.8;
xmax=4;
n = 1e6; % Generating a few more numbers than the original n=20;
x=xmin+rand(1,n)*(xmax-xmin);
histogram(x, 0.8:0.1:4.1)
Looks reasonably uniform to me.
Image Analyst
Image Analyst on 20 Jan 2021
If you want it EXACTLY perfectly uniform (which is doubtful), then you should use linspace() instead of rand().

Sign in to comment.

More Answers (3)

Image Analyst
Image Analyst on 11 Mar 2013
Did you look in the help? You will see the first example does what you want:
Example 1
Generate values from the uniform distribution on the interval [a, b]:
r = a + (b-a).*rand(100,1);
  1 Comment
Jan
Jan on 11 Mar 2013
Edited: Jan on 6 Nov 2017
Suggesting to read the help text is a very strong idea, because it helps in nearly all future problems also.

Sign in to comment.


ChristianW
ChristianW on 11 Mar 2013
n = 20;
R = [0.8 4];
z = rand(n,1)*range(R)+min(R)

Ka Mirul
Ka Mirul on 17 Oct 2017

Hallo, I have seen a tutorial about "Generating Random Number in Specific Range" at https://www.youtube.com/watch?v=MyH3-ONYL_k and it works. Hope it will help you.

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!