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

两个变量之间的欧氏距离

程毅
2023-03-14

我试图将X Y Z变量的数组或列表传递给计算欧几里德距离的方法。

这是我的方法:

public static double calculateDistance(int[] array1, int[] array2)
{
    double distance = 0.0;
    for(int i=0;i<array1.length;i++) {
        distance += Math.pow(array1[i]-array2[i], 2.0);
        distance = Math.sqrt(distance);
    }
    return distance;
}

这是我的主要代码:

int b[] = {0, 0, 0};
int c[] = {10, 0, 0};
double distance = calculateDistance(b, c);
System.out.println(distance);

输出为:1.7782794。。应该是10的时候。有什么想法吗?

共有1个答案

狄钧
2023-03-14

距离=数学。sqrt(距离)错误:

public static double calculateDistance(double[] array1, double[] array2) {
    double Sum = 0.0;

    for (int i = 0; i < array1.length; i++) {
        Sum = Sum + Math.pow((array1[i] - array2[i]), 2.0);
    }

    return Math.sqrt(Sum);
}

然后

double b[]={0,0,0};
double c[]={10,0,0};
double distance = calculateDistance(b, c);
System.out.println(distance);
 类似资料:
  • 返回两点之间的欧氏距离。 使用 Math.hypot() 计算两点之间的欧氏距离( Euclidean distance)。 const distance = (x0, y0, x1, y1) => Math.hypot(x1 - x0, y1 - y0); distance(1, 1, 2, 3); // 2.23606797749979

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

  • > 将图像重塑为一对列向量和行向量: 计算度量矩阵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。 计算两个图像之间的最终(标量)欧几

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

  • 首先,我知道欧几里得距离是什么,以及它在两个向量之间做什么或计算什么。 但我的问题是如何计算两个类对象之间的距离,例如在Java或任何其他OOP语言中。我读了很多关于机器学习的东西,已经使用库等编写了分类器。但我想知道,当我有例如以下对象时,如何计算欧几里德距离: 我已经知道的是(如果我没有错!)我必须将此对象转换为表示属性或“特征”的(n)个向量/数组(在机器学习中称为?) 但我该怎么做呢?这正

  • 假设我有一个有两列X和Y的表T,我想找到所有的元组对,其中使用每个元组X和Y计算它们的欧几里得距离的结果等于某个值D。 此外,这不能有重复。即两个元组的对(X,Y)和相同的两个元组的(Y,X)不能在结果中。 在没有给我答案的情况下,有没有人能够指导我用sql查询来回答这个问题?我已经绞尽脑汁几个小时了,我不知道该从哪里开始。