Sorting coordinates on radial distance from origin

6 views (last 30 days)
Very new to MatLab and struggling with what I think is probably very easy.
I have a set of x,y coordinates over time from particle tracking analysis. I would like to set the origin to a specific x,y coordinate and then calculate the number of coordinates that are some given radial distance from this origin.
Any help greatly appreciated!

Accepted Answer

Torsten
Torsten on 9 Jun 2022
If (x0,y0) is the reference point and your coordinates are saved in a matrix XY of size (2xn), then just use
R = 2.0; %e.g.
n = numel(find((XY(1,:)-x0).^2+(XY(2,:)-y0).^2 <= R^2))
n is the number of points in the XY matrix that lie within a radial distance of R from (x0,y0).

More Answers (1)

Matt J
Matt J on 9 Jun 2022
Edited: James Tursa on 9 Jun 2022
Here's one way to do that:
[~,distance] = cart2pol(x-x0,y-y0); %distances from (x0,y0)
count = nnz(dist_Lower<=distance & distance<=dist_Upper) % count the number within a certain distance range

Community Treasure Hunt

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

Start Hunting!