平面上有100个点,求任意两点的欧式距离,并保存到矩阵中Python
时间: 2023-06-27 16:08:04 浏览: 124
改算法可以求任意两点之间的最短距离,只要修改里面的邻接矩阵即可.zip
可以使用两重循环遍历所有点对,并计算它们之间的欧式距离,最后将结果保存到矩阵中。代码如下:
```python
import numpy as np
# 生成100个随机点的坐标
points = np.random.rand(100, 2)
# 初始化距离矩阵为0
dist_mat = np.zeros((100, 100))
# 计算任意两点之间的距离
for i in range(100):
for j in range(i+1, 100):
dist = np.sqrt(np.sum((points[i] - points[j])**2))
dist_mat[i][j] = dist
dist_mat[j][i] = dist
# 输出距离矩阵
print(dist_mat)
```
这里使用了numpy库来生成随机点的坐标和创建距离矩阵。注意计算欧式距离时要使用numpy的向量运算,可以提高运算速度。
阅读全文