Come trovo la distanza euclidea di ciascun 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 ciascun gruppo (come U1,S1) ci sono tre punti indice nella tabella seguente. Devo calcolare la distanza del punto 1 da 2 e 3, 2 da 1 e 3 e 3 da 1 e 2 utilizzando le coordinate X,Y. Allo stesso modo la distanza dovrebbe essere calcolata di ciascun 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 poiché la distanza del punto 1 da 2 è uguale a 2 da 1.
La mia tabella originale ha diverse Label1 (U1,U2,...,U10) e Label2 (S1,S2,...S10). Come posso scrivere uno script di salto (jsl) che legga una tabella come quella seguente 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 ciascun punto indice all'interno dello stesso gruppo (Un, Sn)
Apprezzerò molto qualsiasi consiglio. Grazie.

Automazione e scriptingCombinazione e pulizia dei datiPersonalizzazione di massaRe: 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);