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

1 view (last 30 days)
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)

madhan ravi
madhan ravi on 21 May 2019
Edited: madhan ravi on 21 May 2019
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

Community Treasure Hunt

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

Start Hunting!