Can anyone help me out what does sign(rand-0.5) command mean
10 views (last 30 days)
Show older comments
Mashrur Zawad
on 19 Mar 2022
Commented: Atsushi Ueno
on 19 Mar 2022
1.Probability of X >0 if X= rand-0.5 2.Probability of X =1 if X= sign(rand-0.5) 3.Probability of X =-1 if X= sign(rand-0.5)
0 Comments
Accepted Answer
Star Strider
on 19 Mar 2022
The ‘sign(rand-0.5)’ returns the sign (-1,0,1) of that result —
for k = 1:10
r = rand
X = sign(r-0.5)
end
.
2 Comments
Torsten
on 19 Mar 2022
Edited: Torsten
on 19 Mar 2022
You take a random number between 0 and 1 (that's what rand does).
Then you subtract 0.5 from this random number.
The result will be between -0.5 and 0.5 ( 0 - 0.5 and 1 - 0.5 are the extremes that can happen) with equal probability.
So the probability of getting a result > 0 (namely a result between 0 and 0.5) is equal to the probability of getting a result < 0 (namely between -0.5 and 0).
Can you now answer the question what the probability of getting a result > 0 is ?
More Answers (1)
Atsushi Ueno
on 19 Mar 2022
rand generates a uniformly distributed random number between 0 and 1.
So, rand-0.5 means random number between -0.5 and 0.5.
rand returns an array Y the same size as x, where each element of Y is:
- 1 if the corresponding element of x is greater than 0.
- 0 if the corresponding element of x equals 0.
- -1 if the corresponding element of x is less than 0.
So, sign(rand-0.5) usually outputs -1 or 1 like a result of coin toss.
It is extremely rare for sign(rand-0.5) to output 0
2 Comments
Atsushi Ueno
on 19 Mar 2022
- 50%
- 50%
- 50%
Do you mean you want exact probability?
I mean you need probability of sign(rand-0.5)==0 or not.
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!