gpt4 book ai didi

python - 执行欧几里得计算时获取数组元素

转载 作者:行者123 更新时间:2023-12-01 05:02:38 26 4
gpt4 key购买 nike

我是 python 和 numpy 的新手。我必须计算两点之间的欧几里得距离。我的第一点是随机生成的,并说

x1[35,60]

x2= [[35 60]][[26 84][69 67][80 63][11 96][44 22][17 76][57 95][44 81][10 56 ][29 33]]

我已经成功计算出最小欧几里德距离 = 22.847,并发现最小欧几里德距离位于两点 x1[35,60] 和 x2 [44,81] 之间。但我通过打印值并手动查看发现了这一点。我想将 x2 (给出最小欧几里得距离)存储在某个变量中,以便我以后可以使用它。我如何实现这一目标?

这是我的代码

从随机导入 randint as r 导入numpy 从数学导入假设

x = r(1, 100)
y = r(1, 100)
isFailedTest = (5<=x<=15) and (10<=y<=11)
selected_test = []
selected_test.append ((x,y))
candidate = [ (r(1,100), r(1,100)) for i in xrange(10)]

x1= numpy.array(selected_test)
x2= numpy.array(candidate)

dists = numpy.hypot(x1[:, 0, numpy.newaxis]-x2[:, 0], x1[:, 1, numpy.newaxis]-x2[:, 1])
mindist = numpy.min(dists, axis=1)
minid = numpy.argmin(dists, axis=1)

print mindist
print candidate
print x1
print x2
print minid

我想我已经快到了,因为我可以看到通过打印输出实际给出最小距离的点。但我无法以编程方式访问给出最小值的点。任何帮助建议/推荐都将受到高度赞赏。谢谢。

最佳答案

你已经快要完成了,我不确定是否可以公平地说这里还有一个问题需要解决。

minid 已经包含到点 x1 具有最小距离的候选者的索引,因此您只需

print candidate[minid[0]]

显示最佳候选者。

关于python - 执行欧几里得计算时获取数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25735837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com