Euclidean distance between two vectors (single row matrix)
I have two vectors (single row matrices). Assume that we already know the length len.
A = [ x1 x2 x3 x4 x5 .... ] B = [ y1 y2 y3 y4 y5 .... ]
To calculate Euclidean distance between them what is the fastest method. My first attempt is:
diff = A - B sum = 0 for column = 1:len sum += diff(1, column)^2 distance = sqrt(sum)
I have loop through this methods millions of times. So, I am looking for something which is fast and correct. Note that I am not using MATLAB and don't have pdist2 API available.
diff = A - B; distance = sqrt(diff * diff');
distance = norm(A - B);
[val idx] = sort(sum(abs(Ti-Qi)./(1+Ti+Qi)));
[val idx] = sort(sqrt(sum((Ti-Qi).^2)));
Val is the value and idx is the original index value of the column being sorted after applying Euclidean distance. (Matlab Code)
To add to @kol answer,
diff = A - B; distance = sqrt(sum(diff * diff')) % sum of squared diff
distance = norm(A-B);