如何从组中的其余点中找到每个点的欧几里德距离?你好,
我在下面有一张桌子。 我想找到每个索引点与 Label1 和 Label2 组合形成的同一组中其余索引点的距离。 对于每个组(如 U1、S1),下表中有三个索引点。 我需要使用 X,Y 坐标计算点 1 与 2 & 3、2 与 1 & 3 和 3 与 1 & 2 的距离。 类似地,对于其他组以及(U1,S2),(U2,S1)和(U2,S2),应该计算每个点与组内其余点的距离。 可以去除同一组中的冗余距离,例如点 1 到 2 的距离与 2 到 1 的距离相同。
我的原始表有几个 Label1 (U1,U2,...,U10) 和 Label2 (S1,S2,...S10)。 如何编写一个跳转脚本(jsl)来读取如下表并在同一个表或新表中创建一列距离。 最终,我试图为同一组中的每个索引点找到 50 个最近的邻居 (Un,Sn)
我将不胜感激任何指导。 谢谢。

数据表脚本编写回复:如何从一组中的其余点中找到每个点的欧几里得距离?查看数据表从脚本索引开始
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);
或者距离:
Names Default To Here(1);
exX1 = [1 2, 3 4, 5 6];
/*Compute squared Euclidean distance*/
exD = Distance(exX1, exX1);
//sqrt(exD);