python写出马氏距离函数
时间: 2023-10-13 14:13:17 浏览: 107
这是一个简单的Python实现马氏距离的函数:
```python
import numpy as np
def mahalanobis_distance(x, y, cov):
"""
计算两个向量的马氏距离
x: 第一个向量
y: 第二个向量
cov: 协方差矩阵
"""
x = np.array(x)
y = np.array(y)
cov_inv = np.linalg.inv(cov)
diff = x - y
md = np.sqrt(np.dot(np.dot(diff, cov_inv), diff.T))
return md
```
其中,x和y是两个需要计算距离的向量,cov是它们的协方差矩阵。函数返回马氏距离。
使用示例:
```python
x = [1, 2, 3]
y = [2, 3, 4]
cov = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]])
md = mahalanobis_distance(x, y, cov)
print(md)
```
输出:
```
1.7320508075688772
```
这表示向量x和y之间的马氏距离为1.732。
阅读全文