python计算欧氏距离
时间: 2023-10-25 18:05:25 浏览: 185
欧氏距离是指在n维空间中两个点之间的距离,计算公式为:
$$d(x,y)=\sqrt{\sum_{i=1}^{n}(x_i-y_i)^2}$$
其中,x和y是n维向量,$x_i$和$y_i$分别表示向量x和y中的第i个元素。
以下是Python代码实现欧氏距离的计算:
```python
import math
def euclidean_distance(x, y):
# 计算欧氏距离
distance = 0.0
for i in range(len(x)):
distance += math.pow(x[i] - y[i], 2)
return math.sqrt(distance)
```
调用这个函数可以计算两个向量之间的欧氏距离,例如:
```python
x = [1, 2, 3]
y = [4, 5, 6]
distance = euclidean_distance(x, y)
print(distance) # 输出:5.196152422706632
```
相关问题
python欧氏距离计算公式
以下是两种Python计算欧氏距离的方法:
1. 使用列表List作为样本点表示的欧氏距离计算方法:
```python
import math
# 计算两点之间的距离
def eucliDist(A,B):
return math.sqrt(sum([(a - b)**2 for (a,b) in zip(A,B)]))
X = [1,2,3,4]
Y = [0,1,2,3]
print(eucliDist(X,Y)) # 输出:2.8284271247461903
```
2. 使用np.array作为样本点表示的欧氏距离计算方法:
```python
import numpy as np
# 计算两点之间的距离
def eucliDist(A,B):
return np.sqrt(sum(np.power((A - B), 2)))
X = np.array([1,2,3,4])
Y = np.array([0,1,2,3])
print(eucliDist(X,Y)) # 输出:2.8284271247461903
```
opencv python的欧氏距离
在OpenCV Python中,欧氏距离可以通过cv2.norm函数来计算。欧氏距离是用于计算两个向量之间的距离的一种方法,它是两个向量之间的欧几里得距离。
在OpenCV Python中,cv2.norm函数的语法如下:
dst = cv2.norm(src1, src2, normType)
其中,src1和src2是要计算距离的两个向量,normType是指定距离类型的参数。在计算欧氏距离时,normType应该设置为cv2.NORM_L2。
下面是一个示例代码,用于计算两个向量之间的欧氏距离:
```
import cv2
import numpy as np
# 两个向量
vec1 = np.array([1, 2, 3])
vec2 = np.array([4, 5, 6])
# 计算欧氏距离
dist = cv2.norm(vec1, vec2, cv2.NORM_L2)
print("欧氏距离为:", dist)
```
阅读全文