我有两个散点集合的xy坐标这两个散点集合数量不一致我想利用python计算两个散点集合中的点互相之间的距离最小值的和怎么计算
可以使用scipy库中的spatial.distance.cdist函数计算两个散点集合之间的距离矩阵,然后通过计算距离矩阵中的最小值之和来得到两个散点集合中的点互相之间的距离最小值的和。
具体代码如下:
import scipy.spatial.distance as dist
# x1, y1为第一个散点集合的x,y坐标,x2, y2为第二个散点集合的x,y坐标
# 假设x1, y1有n1个点,x2, y2有n2个点
n1 = len(x1)
n2 = len(x2)
# 计算距离矩阵
dist_matrix = dist.cdist(zip(x1, y1), zip(x2, y2))
# 计算距离矩阵中的最小值之和
min_sum = sum([min(dist_matrix[i]) for i in range(n1)])
其中,zip(x1, y1)和zip(x2, y2)将x和y坐标合并成一个二元组,方便计算距离矩阵。
原文地址: https://www.cveoy.top/t/topic/e2S2 著作权归作者所有。请勿转载和采集!