Distance between points in a table
    9 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
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 Kommentare
Antworten (1)
  Adam Danz
    
      
 am 19 Nov. 2020
        >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 Kommentare
Siehe auch
Kategorien
				Mehr zu Classification Trees finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


