Bonjour,
J'ai un tableau ci-dessous. Je souhaite trouver la distance de chaque point d'index par rapport au reste des points d'index du même groupe formé par la combinaison de Label1 et Label2. Pour chaque groupe (comme U1, S1), il y a trois points d'index dans le tableau ci-dessous. Je dois calculer la distance du point 1 à partir de 2 et 3, 2 à partir de 1 et 3 et 3 à partir de 1 et 2 en utilisant les coordonnées X, Y. De même, la distance doit être calculée de chaque point par rapport au reste des points du groupe pour d'autres groupes ainsi que (U1, S2), (U2, S1) et (U2, S2). La distance redondante dans le même groupe peut être supprimée, car la distance du point 1 à 2 est la même que celle de 2 à 1.
Ma table d'origine contient plusieurs Label1 (U1,U2,...,U10) et Label2 (S1,S2,...S10). Comment puis-je écrire un script de saut (jsl) qui lit un tableau comme ci-dessous et crée une colonne de distances dans le même tableau ou dans un nouveau tableau. En fin de compte, j'essaie de trouver les 50 voisins les plus proches pour chaque point d'index au sein du même groupe (Un, Sn)
J’apprécierai grandement tout conseil. Merci.

Vérifier KDTableGenericName de Scripting Index pour commencer
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);
ou Distance :
Names Default To Here(1);
exX1 = [1 2, 3 4, 5 6];
/*Compute squared Euclidean distance*/
exD = Distance(exX1, exX1);
//sqrt(exD);