Calculating the differences between XY pairs in a matrix

3 views (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,:);
  2 Comments
Matt J
Matt J on 10 Nov 2020
You're quite welcome, but please Accept-click the answer to indicate that it solved the problem.

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices 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!