How to generate a matrix with assigned probability?

조회 수: 1 (최근 30일)
Aryan Jain
Aryan Jain 2020년 9월 13일
댓글: Aryan Jain 2020년 9월 13일
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

채택된 답변

Bruno Luong
Bruno Luong 2020년 9월 13일
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

추가 답변 (1개)

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam 2020년 9월 13일
% x is the probability of 1
% m rows and n columns
A=binornd(1,x,n,m)';
% another random matrix
A=binornd(1,x,n,m)';

카테고리

Help CenterFile Exchange에서 Fractals에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by