MATLAB: Calculate distance between XY coordinates

arraydistancematrixsqrt

How do we calculcate one xy coordinate against other xy coordinates in a 1000×2 matrix?

Best Answer

You can use the pdist function to calcluate pairwise distance between pairs of observations.
Suppose "Coords" is your 1000 by 2 matrix, then the following MATLAB code can give you the distance:
%%Calculate distance
loc_1=1;
loc_2=2;
Coord_1=Coords(loc_1,:); % The first coordinate
Coord_2=Coords(loc_2,:); % The second coordinate
pair=[Coord_1;Coord_2];
distance=pdist(pair,'euclidean');
"distance" will give you the euclidean distance between the first and second coordinates. You can loop through the coordinate locations (i.e loop through the "loc_i" variable) to find the distance between a particular coordinate and the rest of the coordinates.
Note: The same result can be achieved in multiple ways, eg: using norm,sqrt etc..