假设我有两个四维向量(即a和b)如下:
a = {a1, a2, a3, a4}
b= {b1, b2, b3, b4}
如何计算这些向量之间的欧几里德距离?
答案 0 :(得分:17)
欧几里德距离演算与尺寸无关。
在你的情况下,a和b之间的欧几里德距离可以写成:d(a,b)= sqrt(sum_ {i = 1} ^ {4}(a [i] - b [i])^ 2)。
或者,更具体地:d(a,b)= sqrt((a1-b1)^ 2 +(a2-b2)^ 2 +(a3-b3)^ 2 +(a4-b4)^ 2)。答案 1 :(得分:5)
public static float ndistance(float[] a, float[] b) {
float total = 0, diff;
for (int i = 0; i < a.length; i++) {
diff = b[i] - a[i];
total += diff * diff;
}
return (float) Math.sqrt(total);
}
上面的函数/方法/代码将计算n维空间中的距离。 a和b是浮点数的数组,并且具有相同的长度/大小或简单地为n。由于您需要4维,因此您只需传递一个表示4-D向量数据的4长度数组。