Azzera filtri
Azzera filtri

generate random numbers in range from (0.8 to 4)

149 visualizzazioni (ultimi 30 giorni)
Hi How to generate 20 random numbers in range from (0.8 to 4) Thanks
  1 Commento
Jan
Jan il 6 Nov 2017
Modificato: Jan il 6 Nov 2017
@Arnab: See Azzi's and Image Analyst's answers, which contains exactly the same.

Accedi per commentare.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 11 Mar 2013
Modificato: Azzi Abdelmalek il 11 Mar 2013
xmin=0.8
xmax=4
n=20
x=xmin+rand(1,n)*(xmax-xmin)
  3 Commenti
Steven Lord
Steven Lord il 19 Gen 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 il 20 Gen 2021
If you want it EXACTLY perfectly uniform (which is doubtful), then you should use linspace() instead of rand().

Accedi per commentare.

Più risposte (3)

Image Analyst
Image Analyst il 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 Commento
Jan
Jan il 11 Mar 2013
Modificato: Jan il 6 Nov 2017
Suggesting to read the help text is a very strong idea, because it helps in nearly all future problems also.

Accedi per commentare.


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

Ka Mirul
Ka Mirul il 17 Ott 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.

Categorie

Scopri di più su Random Number Generation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by