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

1 次查看(过去 30 天)
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]);

回答(1 个)

madhan ravi
madhan ravi 2019-5-21
编辑:madhan ravi 2019-5-21
adj_mtr(dist_mtr > 0 & dist_mtr <= 2*r) = randi([0, 1],1,nnz(dist_mtr > 0 & dist_mtr <= 2*r));

类别

Help CenterFile Exchange 中查找有关 Random Number Generation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by