how can i generate a random number out of a range??
10 views (last 30 days)
Show older comments
walter
on 21 Jan 2014
Commented: Azzi Abdelmalek
on 21 Jan 2014
i need to generate a random number out of a range, i did it inside with r=-1+(2).*rand(1,1) %my interval is (-1;1)
how can i do to get a random number that is not in this interval?? i mean, a number which satisfy r<-1 U 1<r
0 Comments
Accepted Answer
Azzi Abdelmalek
on 21 Jan 2014
Edited: Azzi Abdelmalek
on 21 Jan 2014
a=rand
out=1/a*sign(a-0.5)
%or for a vector
n=10;
a=rand(1,n);out=1./a.*sign(a-0.5)
2 Comments
Azzi Abdelmalek
on 21 Jan 2014
You are right, if we use rand twice, it will be different
n=10;
out=1./rand(1,n).*sign(rand(1,n)-0.5)
More Answers (1)
Amit
on 21 Jan 2014
A = [1/rand -1/rand];
r = A(randi(2));
(or)
r = [1/rand -1/rand]*(randperm(2,2) -1)';
Either will generate a random number from r<-1 U 1<r
0 Comments
See Also
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!