How to assign probability to a matrix element?

2 views (last 30 days)
Hi,
was wondering if somebody know to do the following:
I want to generate a matrix of zeros and ones with some probability of an element being zero or one. For instance:
Let A be a matrix, then
A(i,j) = 1 with probability p; A(i,j) = 0 with probability 1-p;
for some i,j and 0<p<1.
Is there a function on matlab which I can use to fo this?

Accepted Answer

Sean de Wolski
Sean de Wolski on 11 Dec 2013
x = rand(m,n) > p
Just compare a random value to p.

More Answers (1)

Roger Stafford
Roger Stafford on 11 Dec 2013
Edited: Roger Stafford on 11 Dec 2013
It isn't clear whether the elements' probabilities are all to be equal to a single value, p, or each element A(i,j) is to have its own individual probability p(i,j). If you mean the latter, let P be a matrix the same size as A in which an element p(i,j) is the probability that A(i,j) is 1, and otherwise it is to be 0. Do this:
A = rand(size(P))<=P;

Community Treasure Hunt

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

Start Hunting!