明式距离python代码
时间: 2023-11-08 18:03:34 浏览: 43
明式距离(Manhattan distance),也称为曼哈顿距离或街区距离,是两个点在规则的矩形网格中的距离,沿着网格的边缘移动,而不是沿着对角线移动。以下是计算明式距离的Python代码:
```python
def manhattan_distance(p1, p2):
return abs(p1[0] - p2[0]) + abs(p1[1] - p2[1])
```
这段代码定义了一个函数 `manhattan_distance`,它接受两个点 `p1` 和 `p2`,并返回它们之间的明式距离。点 `p1` 和 `p2` 被表示为元组,每个元组包含两个整数,分别表示点在网格中的 x 坐标和 y 坐标。
注意:这段代码仅适用于二维平面上的明式距离计算。
相关问题
欧式距离python代码
以下是计算两点欧式距离的Python代码:
```python
import math
def distance(x1, y1, z1, x2, y2, z2):
d = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2 + (z2 - z1) ** 2)
return d
x1, y1, z1 = map(float, input().split(","))
x2, y2, z2 = map(float, input().split(","))
d = distance(x1, y1, z1, x2, y2, z2)
print("{:.2f}".format(d))
```
其中,`distance`函数接收两个点的坐标参数,计算它们之间的欧式距离并返回。`map`函数用于将输入的字符串转换为浮点数。最后,使用`print`函数输出结果,保留两位小数。
马氏距离python代码
马氏距离的Python代码可以如下实现:
```python
import numpy as np
import math
def mashi_distance(x, y):
x = np.array(x)
y = np.array(y)
diff = x - y
cov = np.cov(diff.T)
cov_inv = np.linalg.inv(cov)
res = math.sqrt(np.dot(np.dot(diff, cov_inv), diff.T))
return res
```