python随机生成100个坐标在第一象限,求任意2点间的欧式距离,并将其保存。
时间: 2024-10-15 21:21:13 浏览: 19
在Python中,你可以使用`numpy`库来生成随机坐标和计算欧式距离。首先,你需要安装`numpy`如果还没有的话。然后按照以下步骤操作:
```python
import numpy as np
# 生成100个在第一象限(正x轴和正y轴)的二维随机浮点数作为坐标
coordinates = np.random.rand(100, 2)
# 计算任意两点之间的欧式距离,可以使用numpy的linalg.norm函数
def euclidean_distance(point1, point2):
return np.linalg.norm(point1 - point2)
# 定义一个列表来存储所有距离,初始化为空
distances = []
# 对于每一对坐标,计算并添加到distance列表中
for i in range(len(coordinates)):
for j in range(i+1, len(coordinates)):
distance = euclidean_distance(coordinates[i], coordinates[j])
distances.append(distance)
# 将结果保存到文件,这里以CSV为例
with open('distances.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(["Distance between points"])
writer.writerows([[f"Distance between ({i[0]}, {i[1]}) and ({j[0]}, {j[1]})"] + [distance] for i, j, distance in zip(coordinates[:-1], coordinates[1:], distances)])
阅读全文