select numbers based on different probabiltiies

I have an event that happens at a prbability of 1E-06. I want Matlab to return me 1 if that event happens and 0 otherwise. Rand gives me a number upto four decimal places. Could you folks help me come up with a solution.
Thank you

4 个评论

Rand gives me a number upto four decimal places
Nope RAND returns double, i.e., more than 15 significant decimals.
Don't be fool by what display on your screen and what is stored internally.
Thanks for that quick response. Very basic question. How can I force matlab to output random number upto 6 or 7 significant digit.
Will this code work?
ran = rand;
if (rand<1E-05)
selec=1;
else
selec=0;
end
Yes. But you don't need the ran=rand line if you're never going to use ran. To see more digits:
format longG
No this code returns 1 with 1e-5 probability chance, not 1e-6 as you have stated.
ran = rand;
if (rand<1E-05)
selec=1;
else
selec=0;
end

请先登录,再进行评论。

类别

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by