MATLAB: How to generate a matrix with assigned probability

generatematrix

Hi,
I want to generate a matrix of size (m,n) that has 1's and 0's, where each column has at random x% 1's and about (100-x)% 0. after every execution the matrix should change randomly.
For ex – suppose matrix A is a (5,2) matrix and x=0.8 i:e 80% are 1
then A should be
A=[1,1,1,0,1;1,0,1,1,1] % 1st itration
A=A=[0,1,1,1,1;1,1,1,0,1] % 2nd itration
How can I do it? Is there any way to generate it without using a for loop?
Thank You

Best Answer

it doesn't matter whereas it run in for-loop or not.
x = 0.8; % probability of 1s
m = 5;
n = 2;
% for ...
A = rand(m,n) < x;
% end