generating random numbers from a range
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello, I want to generate random numbers from a range. Example I want 1000 random numbers in the range from 1000 to 3000. How can I do this in matlab, because what I could get using the rand command is only in the range [0,1]. Thanks!
Edit Nr. 1 I think the rand command gives UNIFORMLY distributed random numbers. Is there a way to generate samples from NORMALLY distributed functions ( randn command), but instead of mean and std, I want to enter initial value and ranges. I want this for a stochastic modelling (sensitivity analysis) purpose.
0 Kommentare
Antworten (2)
Andrei Bobrov
am 13 Jun. 2012
out = 1000 + 2000*rand(1000,1);
OR
use function unifrnd from Statistics Toolbox
out = unifrnd(1000,3000,1000,1);
2 Kommentare
Andrei Bobrov
am 13 Jun. 2012
k = randn(1000,1);
km = min(k);
out = (k-km)/(max(k)-km)*2000+1000;
hist(kn,1000:100:3000)
But this is distribution - not normal distribution
Walter Roberson
am 13 Jun. 2012
Normal distribution is, by definition, infinite tail on both sides. If you want your generated values to be confined to a finite range, you do not have a normal distribution.
Perhaps you want a beta distribution.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Random Number Generation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!