Calculating the differences between XY pairs in a matrix

1 view (last 30 days)
Hello friends,
I have this mega matrix (1000:4) with observations that has 0 and 1 on the last column.
The second and third column contains the observations' x,y coordinates in m distance. I want to create a condition where it can output the rows that include 0, satisfy the condition that the measured distance between an observation of 0 and 1 that were less than 5m and then count the no. of observations that satisfied both conditions.
How could I list them out? I realise that the essential functions that I can use could be for loop, count and else if.
Thanks.

Accepted Answer

Matt J
Matt J on 8 Nov 2020
xy=M1(:,2:3);
b=M1(:,4);
A=xy(:,b==0);
B=xy(:,b==1);
tf = any(pdist2(A,B)<=5,2);
result=A(tf,:);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!