how do i generate conditional random number either 0 or 1 ?

I have a matrix initialized with all zeros. Next i want to fill it with 1 under certain condition.. If distance between each location to every other location is greater than 0 and less than 2, than there must be chance of filling it with 1, that should be random either 0 or 1, but only after distance condition is satisfied.
How can i do it ? i have tried it as shown in code, but its not working.
dist_mtr = squareform( pdist(locations,'euclidean') );
adj_mtr(dist_mtr > 0 & dist_mtr <= 2*r) = randi([0, 1]);

Answers (1)

adj_mtr(dist_mtr > 0 & dist_mtr <= 2*r) = randi([0, 1],1,nnz(dist_mtr > 0 & dist_mtr <= 2*r));

Categories

Find more on Random Number Generation in Help Center and File Exchange

Asked:

on 21 May 2019

Edited:

on 21 May 2019

Community Treasure Hunt

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

Start Hunting!