Come faccio a trovare la distanza euclidea di ogni punto dal resto dei punti in un gruppo?Ciao,
Ho una tabella qui sotto. Voglio trovare la distanza di ciascun punto indice dal resto dei punti indice nello stesso gruppo formato dalla combinazione di Etichetta1 e Etichetta2. Per ogni gruppo (come U1,S1) ci sono tre punti indice nella tabella sottostante. Devo calcolare la distanza del punto 1 da 2 e 3, 2 da 1 e 3 e 3 da 1 e 2 usando le coordinate X, Y. Allo stesso modo si dovrebbe calcolare la distanza di ogni punto dal resto dei punti all'interno del gruppo anche per altri gruppi come (U1,S2), (U2,S1) e (U2,S2). La distanza ridondante nello stesso gruppo può essere rimossa come la distanza del punto 1 da 2 è uguale a 2 da 1.
La mia tabella originale ha diversi Label1 (U1,U2,...,U10) e Label2 (S1,S2,...S10). Come posso scrivere uno script di salto (jsl) che legga una tabella come di seguito e crei una colonna di distanze nella stessa tabella o in una nuova tabella. Alla fine sto cercando di trovare i 50 vicini più vicini per ogni punto indice all'interno dello stesso gruppo (Un, Sn)
Apprezzerò molto qualsiasi guida. Grazie.

Tabella datiScriptingRe: Come trovo la distanza euclidea di ogni punto dal resto dei punti in un gruppo?Guardare KDTable da Scripting Index per iniziare
Names Default To Here(1);
tbl = KDTable([1 2, 3 4, 5 6]);
distance = tbl << Distance between rows(1, 2);
//distance from row 1 to row 2 is:
Show(distance);
{rows, dist} = tbl << K nearest rows(2);
Show(rows, dist);
o Distanza :
Names Default To Here(1);
exX1 = [1 2, 3 4, 5 6];
/*Compute squared Euclidean distance*/
exD = Distance(exX1, exX1);
//sqrt(exD);