当前位置: 首页 > 知识库问答 >
问题:

确定MySQL中所有元组之间的欧氏距离

黄彬
2023-03-14

假设我有一个有两列X和Y的表T,我想找到所有的元组对,其中使用每个元组X和Y计算它们的欧几里得距离的结果等于某个值D。

此外,这不能有重复。即两个元组的对(X,Y)和相同的两个元组的(Y,X)不能在结果中。

在没有给我答案的情况下,有没有人能够指导我用sql查询来回答这个问题?我已经绞尽脑汁几个小时了,我不知道该从哪里开始。

共有1个答案

段干河
2023-03-14

基本上,你想要一个交叉连接和算术。让我假设每一行都有一个唯一的ID。然后是这样的:

select t1.*, t2.*,
       <formula for Euclidean distance here>
from t t1 join
     t t2
     on t1.id < t2.id

如果没有唯一的id,可以改用元组比较:

on (t1.x, t1.y) < (t2.x, t2.y)
 类似资料:
  • 我在一个列表中有8个点,我需要计算所有可能对之间的欧几里德距离。我可以编写一个for循环并继续计算距离,但是python/numpy/others有更好的方法吗? 坐标点:

  • 我有一份清单。我想找到所有对和自身之间的欧几里德距离,并创建一个2D numpy数组。当对不同时,其自身之间的距离的位置和值将为0。列表列表的示例:我想要的结果是 x表示差异的值。周期意味着结果应遵循矩阵中所示。我需要python代码方面的帮助。行和列中0、1、2等的数量定义了内部列表索引。

  • > 将图像重塑为一对列向量和行向量: 计算度量矩阵G,其条目由公式给出 其中,r是一个从0到20变化的全局参数,d是像素i和像素j之间的距离。E、 例如,如果像素i是(k,l),像素j是(k1,l1),则d=sqrt((k-k1)^2(l-l1)^2) 。像素1将是(1,1),像素2将是(1,2),依此类推。因此,矩阵G的大小将为1638400×1638400。 计算两个图像之间的最终(标量)欧几

  • 返回两点之间的欧氏距离。 使用 Math.hypot() 计算两点之间的欧氏距离( Euclidean distance)。 const distance = (x0, y0, x1, y1) => Math.hypot(x1 - x0, y1 - y0); distance(1, 1, 2, 3); // 2.23606797749979

  • 我试图将X Y Z变量的数组或列表传递给计算欧几里德距离的方法。 这是我的方法: 这是我的主要代码: 输出为:1.7782794。。应该是10的时候。有什么想法吗?

  • 我想写一个函数来计算中的坐标与中的每个坐标之间的欧氏距离,并通过列生成维度行的距离数组(其中是中的坐标数,是中的坐标数)。 NB:为了简单起见,我不想使用任何其他库。 运行该函数将生成: 我一直在试着运行下面的程序 但我得到以下错误: 非常感谢。