【发布时间】:2022-11-16 08:36:14
【问题描述】:
我在图表上绘制随机点。我想在列表中找到从每个点到另一个点的欧几里得距离。
之前的结果/尝试可以查看here
我为 x 和 y 坐标生成 4 个介于 0 和 10 之间的随机数,然后使用 np.array 将它们配对。我需要使用距离公式和嵌套循环来计算列表中两点之间的距离。这会生成 8 个值,我假设它们是距离。因为有 4 个点,所以点之间应该有 6 个距离。
我在距离公式中的编程不正确吗?还是我错误地定义了这些点?
下面的代码
import numpy as np
import matplotlib.pyplot as plt
import random
import math
dist = []
x = [random.uniform(1, 10) for n in range(4)]
y = [random.uniform(1, 10) for n in range(4)]
plt.scatter(x, y)
plt.show()
pairs = np.array([x, y])
def distance(x, y):
return math.sqrt((x[0]-x[1])**2 + (y[0]-y[1])**2)
for x in pairs:
for y in pairs:
d = distance(x, y)
dist.append(d)
print(pairs)
【问题讨论】: