Distance between points in a table
조회 수: 6 (최근 30일)
이전 댓글 표시
Hello all,
I have a table containing the (x,y) coordinates and I need to find the distance between each point and save it as an array. Could anybody please guide me?
Thanks in advance.
댓글 수: 3
답변 (1개)
Adam Danz
2020년 11월 19일
>I have a table containing the (x,y) coordinates and I need to find the distance between each point [without using pdist | pdist2]
Calculate distances row-wise
Create input table
rng('default')
T = array2table(rand(8,2).*10, 'VariableNames',{'X','Y'})
Add a column Dist that shows the distance between rows n and n-1.
T.Dist = [NaN; sqrt(diff(T.X).^2 + diff(T.Y).^2)]
Calculate pairwise distances
Create input table
rng('default')
T = array2table(rand(8,2).*10, 'VariableNames',{'X','Y'})
Create square matrix of pairwise distances
[xi, yi] = meshgrid(1:numel(T.X), 1:numel(T.Y));
D = reshape(sqrt(diff(T.X([xi(:),yi(:)]),1,2).^2 + diff(T.Y([xi(:),yi(:)]),1,2).^2),size(xi))
D(i,j) is the distance between points T(i,:) and T(j,:).
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Classification Ensembles에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!