help random numbers generator
Show older comments
Hi everyone, I'd like to know how to generate a set of random numbers with normal distribution (randn) belonging to a range defined by me.
To make it easier:
I want to generate 10 random numbers between [-0.5 0.5] using randn.
Thanks for your attention
Accepted Answer
More Answers (1)
KSSV
on 23 May 2020
a = -0.5 ;
b = 0.5 ;
N = 10 ;
r = (b-a).*randn(N,1) + a;
7 Comments
Daniele1
on 23 May 2020
Jeff Miller
on 24 May 2020
ummm...that isn't right for normal random numbers, only uniform(0,1). The code given will generate numbers from about -4 to 3 with a mean of -0.5, which is not what the OP was asking for.
Daniele1
on 24 May 2020
Jeff Miller
on 25 May 2020
I am not sure exactly what you want to do. One possibility is to just keep generating random numbers with randn until you find 10 in the range you want. Would that work for you?
Daniele1
on 25 May 2020
Jeff Miller
on 25 May 2020
If that would work, then I guess this is what you are after:
pd = makedist('Normal');
t = truncate(pd,-0.5,0.5);
r = random(t,10,1);
Daniele1
on 25 May 2020
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!