Python学习系列文章:👉 目录 👈
一、概述
欧式距离,也称为 欧几里得距离,是我们从小学、初中、高中等等乃至现在都会用到的距离度量。
“两点之间线段最短” 大家都学过吧,这里只不过给换了一个高大上的英文名字,就是我们在小初高等试卷上计算距离的那个公式
二、计算公式
① 二维平面上的欧式距离
假设 二维平面 内有两点:
a
(
x
1
,
y
1
)
a(x_{1},y_{1})
a(x1,y1) 与
b
(
x
2
,
y
2
)
b(x_{2},y_{2})
b(x2,y2)
则二维平面的距离公式为:
d
12
=
(
x
1
−
x
2
)
2
+
(
y
1
−
y
2
)
2
d_{12}=sqrt{(x_{1}-x_{2})^2+(y_{1}-y_{2})^2}
d12=(x1−x2)2+(y1−y2)2
举个例子,就比如上图的
A
(
2
,
2
)
A(2,2)
A(2,2) 与
B
(
6
,
6
)
B(6,6)
B(6,6) 两点,计算
A
B
AB
AB 两点的距离为:
d
A
B
=
(
6
−
2
)
2
+
(
6
−
2
)
2
=
4
2
+
4
2
=
4
2
begin{aligned} d_{AB} &=sqrt{(6-2)^2+(6-2)^2}\ &=sqrt{4^2+4^2}\ &= 4sqrt{2} end{aligned}
dAB=(6−2)2+(6−2)2=42+42=42
② 三维空间上的欧式距离
假设 三维空间 内有两点:
a
(
x
1
,
y
1
,
z
1
)
a(x_{1},y_{1},z_{1})
a(x1,y1,z1) 与
b
(
x
2
,
y
2
,
z
2
)
b(x_{2},y_{2},z_{2})
b(x2,y2,z2)
则三维空间的距离公式为:
d
12
=
(
x
1
−
x
2
)
2
+
(
y
1
−
y
2
)
2
+
(
z
1
−
z
2
)
2
d_{12}=sqrt{(x_{1}-x_{2})^2+(y_{1}-y_{2})^2+(z_{1}-z_{2})^2}
d12=(x1−x2)2+(y1−y2)2+(z1−z2)2
举个例子,比如上图的
A
(
0
,
0
,
4
)
A(0,0,4)
A(0,0,4) 与
B
(
0
,
2
,
0
)
B(0,2,0)
B(0,2,0) 两点,计算
A
B
AB
AB 两点的距离为:
d
A
B
=
(
0
−
0
)
2
+
(
0
−
2
)
2
+
(
4
−
0
)
2
=
0
+
4
+
16
=
2
5
begin{aligned} d_{AB} &=sqrt{(0-0)^2+(0-2)^2+(4-0)^2}\ &=sqrt{0+4+16}\ &= 2sqrt{5} end{aligned}
dAB=(0−0)2+(0−2)2+(4−0)2=0+4+16=25
③ n维空间上的欧式距离
假设 n维空间 内有两点:
a
(
x
11
,
x
12
,
.
.
.
,
x
1
n
)
a(x_{11},x_{12},…,x_{1n})
a(x11,x12,...,x1n) 与
b
(
x
21
,
x
22
,
.
.
.
,
x
2
n
)
b(x_{21},x_{22},…,x_{2n})
b(x21,x22,...,x2n)
则n维空间的距离公式为:
d
12
=
∑
k
=
1
n
(
x
1
k
−
x
2
k
)
2
d_{12}=sqrt{sum_{k=1}^n(x_{1k}-x_{2k})^2}
d12=k=1∑n(x1k−x2k)2
同理,n 维空间也是,将对应的向量作以上运算即可。(n 维的画不出来,需要用其他形式表示,就像下图一样)。
暂无评论内容