Python学习系列文章: 目录
文章目录
- 一、概述
- 二、计算公式
- ① 二维平面上的欧式距离
- ② 三维空间上的欧式距离
- ③ n维空间上的欧式距离
欧式距离,也称为 欧几里得距离,是我们从小学、初中、高中等等乃至现在都会用到的距离度量。
“两点之间线段最短” 大家都学过吧,这里只不过给换了一个高大上的英文名字,就是我们在小初高等试卷上计算距离的那个公式
假设 二维平面 内有两点: 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}\\ &= 4\sqrt{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}\\ &= 2\sqrt{5} \end{aligned} dAB=(0−0)2+(0−2)2+(4−0)2=0+4+16=25
假设 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 维的画不出来,需要用其他形式表示,就像下图一样)。