Sorting coordinates on radial distance from origin

3 Ansichten (letzte 30 Tage)
George Vaisey
George Vaisey am 9 Jun. 2022
Kommentiert: George Vaisey am 9 Jun. 2022
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!

Akzeptierte Antwort

Torsten
Torsten am 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).
  2 Kommentare
James Tursa
James Tursa am 9 Jun. 2022
Or just replace numel(find(... with sum(... or nnz(...
George Vaisey
George Vaisey am 9 Jun. 2022
Worked great, cheers!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Matt J
Matt J am 9 Jun. 2022
Bearbeitet: James Tursa am 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!

Translated by