您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在考虑周期性边界条件的同时优化Python距离计算

在考虑周期性边界条件的同时优化Python距离计算

您应该distance()以可以对5711点上的循环进行矢量化的方式编写函数。以下实现接受点数组作为x0orx1参数:

def distance(x0, x1, dimensions):
    delta = numpy.abs(x0 - x1)
    delta = numpy.where(delta > 0.5 * dimensions, delta - dimensions, delta)
    return numpy.sqrt((delta ** 2).sum(axis=-1))

例:

>>> dimensions = numpy.array([3.0, 4.0, 5.0])
>>> points = numpy.array([[2.7, 1.5, 4.3], [1.2, 0.3, 4.2]])
>>> distance(points, [1.5, 2.0, 2.5], dimensions)
array([ 2.22036033,  2.42280829])

结果是作为第二个参数传递给的distance()点与中的每个点之间的距离的数组points

python 2022/1/1 18:27:31 有645人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶