Let's say I have two 4-dimensional vectors (i.e. a and b) as follows:
a = {a1, a2, a3, a4}
b= {b1, b2, b3, b4}
How do I compute the Euclidean distance between these vectors?
The euclidian distance calculus is independent of dimensions.
In your case, the euclidian distance between a and b can be written as:
d(a,b) = sqrt( sum_{ i=1 } ^ { 4 } (a[ i ] - b[ i ])^2 )
Or, more specifically:
d(a,b) = sqrt( (a1 - b1)^2 + (a2 - b2)^2 + (a3 -b3)^2 + (a4 - b4)^2 )
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);
}
The function/method/code above will calculate the distance in n-dimensional space. a and b are arrays of floating point number and have the same length/size or simply the n. Since you want a 4-dimension, you simply pass a 4-length array representing the data of your 4-D vector.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With