How can i create an if-function with probability p ?
14 views (last 30 days)
Show older comments
Hi, im quite new in all this, i hope someone can help me.
I should generate a function that with probability p calculates for example y=2x and with probability 1-p y = 5x. I don't know how to do it but i thought of creating a variable, lets call it C, that equals 1 with probability p and something else with p-1 or something similar and then create an if function with
if C=1
y=2x
else
y=5x
But is there the possibility to create something like C and how? Or is there an easier way to do this?
Sorry, i hope this was clear and thanks in advance!
Best, Nina
3 Comments
Walter Roberson
on 3 Feb 2016
I confirm that Roger's solution works.
For example,
x = 1 : 10;
p = 0.2;
for tryno = 1 : 8
if rand <= p
y = 2 * x
else
y = 5 * x
end
end
You can see that the answer is not always the same
Answers (1)
Roger Stafford
on 17 Apr 2015
if rand<=p
y = 2*x;
else
y = 5*x;
end
2 Comments
Roger Stafford
on 17 Apr 2015
Edited: Roger Stafford
on 18 Apr 2015
That would only be true if you reset the "seed" for 'rand' processing using 'rng' each time you called 'rand', or if you shut off the computer each time.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!