平面上有100个点,求任意两点间的欧式距离,并将其保存;提示:使用np.linspace
时间: 2024-09-18 18:13:57 浏览: 47
在Python中,你可以使用NumPy库中的`linspace`函数创建一个均匀分布的一维数组,代表平面上的点的横纵坐标。然后,为了计算任意两点之间的欧式距离,可以利用欧氏距离公式:sqrt((x2-x1)^2 + (y2-y1)^2),其中(x1, y1)和(x2, y2)分别表示两个点的坐标。
以下是实现步骤:
1. 首先,创建一个包含100个点的网格,每个点的横坐标和纵坐标范围可以在整个平面内自定义,例如从0到1之间:
```python
import numpy as np
# 创建一个100x2的二维数组,每个子数组代表一个点的坐标
points = np.column_stack(np.meshgrid(np.linspace(0, 1, 100), np.linspace(0, 1, 100)))
```
2. 然后,定义一个函数来计算两个点之间的欧式距离,这里假设`distance`函数接受两个点作为输入:
```python
def distance(point1, point2):
return np.sqrt(np.sum((point1 - point2)**2))
# 计算每对点的距离并存储在一个二维数组或其他数据结构中,如列表
distances = [[distance(points[i], points[j]) for j in range(len(points))] for i in range(len(points))]
```
现在`distances`是一个三维数组,其中`distances[i][j]`就是第i个点到第j个点的欧式距离。
阅读全文