Sorting coordinates on radial distance from origin

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!

 채택된 답변

Torsten
Torsten 2022년 6월 9일
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

Or just replace numel(find(... with sum(... or nnz(...
Worked great, cheers!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Matt J
Matt J 2022년 6월 9일
편집: James Tursa 2022년 6월 9일
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

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

질문:

2022년 6월 9일

댓글:

2022년 6월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by