Computing Euclidean distance between 2 points

조회 수: 1 (최근 30일)
Elysi Cochin
Elysi Cochin 2022년 5월 3일
편집: Bruno Luong 2022년 5월 3일
I found a code computing Euclidean distance as
diff = q - p;
dist = sqrt(diff * diff');
is there any difference from the standard Euclidean distance formula, why transpose is taken?

채택된 답변

Rik
Rik 2022년 5월 3일
편집: Rik 2022년 5월 3일
By doing a matrix multiplication on a vector, you implicitly take the sum over all elements.
Note that this will only work if both p and q are row vectors.
q=rand(1,5);p=rand(1,5);
diff=q-p;
diff * diff' , sum(diff .* diff)
ans = 0.6624
ans = 0.6624

추가 답변 (1개)

Bruno Luong
Bruno Luong 2022년 5월 3일
편집: Bruno Luong 2022년 5월 3일
For a row vector d
% sum(d.^2)
is equal to
% d*d'
Example
d=randi(10,1,3)
d = 1×3
9 6 5
sum(d.^2)
ans = 142
d*d'
ans = 142

카테고리

Help CenterFile Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by