How to create a random Bernoulli matrix ?

I want to create a 256x256 random Bernoulli matrix, how to do that in matlab ?

1 comentario

Bilal Siddiqui
Bilal Siddiqui el 2 de Oct. de 2018
It's simple. A Bernoulli trial produces one of only two outcomes (say 0 or 1). You can use binord. For example p=0.2; n=256; A=binornd(1,p*ones(n));
produces an nxn array of Bernoulli trials which are either 0 or 1 in each outcome. Hope this answers your question.

Iniciar sesión para comentar.

 Respuesta aceptada

Robert Dylans
Robert Dylans el 7 de Oct. de 2015
Editada: Robert Dylans el 7 de Oct. de 2015
p=0.5; %probability of success
n=256;
A=rand(n);
A=(A<p)
or
p=0.5;
A=(rand(256)<p)

5 comentarios

Mohab Mostafa
Mohab Mostafa el 7 de Oct. de 2015
Thank you so much, another question (if it's fine with you), how to generate a random Gaussian matrix ? (also 256x256)
A=normrnd(mean,standard dev,m,n);
For a cluster around a an average of '0' with sigma 1:
A=normrnd(0,1,256,256);
Mohab Mostafa
Mohab Mostafa el 7 de Oct. de 2015
and what if I want a -+1 Bernoulli matrix to be used in compressed sensing as a sensing matrix ?
If you have a matrix A of 0 and 1 then you can make it a matrix of -1 and +1 by using
A*2 - 1

Iniciar sesión para comentar.

Más respuestas (2)

Byron McMullen
Byron McMullen el 15 de Feb. de 2021

3 votos

I use this.
bernoulli_matrix = randsrc(rows,cols,[-1,1]);
Bilal Siddiqui
Bilal Siddiqui el 2 de Oct. de 2018

1 voto

It's simple. A Bernoulli trial produces one of only two outcomes (say 0 or 1). You can use binord. For example p=0.2; n=256; A=binornd(1,p*ones(n));
produces an 256x256 array of Bernoulli trials which are either 0 or 1 in each outcome. Hope this answers your question.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 6 de Oct. de 2015

Comentada:

el 4 de Jun. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by