我试图计算点集合和线段之间的最短距离。一切顺利,直到使用来自两组数组的值计算距离,一组用于x距离,一组用于y距离。
计算距离的行是:
d = np.sqrt( dx**2 + dy**2 ).
它告诉我::
ValueError: operands could not be broadcast together with shapes (3312,) (0,)
我之前使用过该脚本的另一组值,它完美无缺。但现在它已不复存在了。我试着找到错误信息的含义但到目前为止还没有成功。有人可以帮忙吗?
答案 0 :(得分:5)
ValueError异常 当内置操作或函数接收到具有正确类型但值不合适的参数时引发
演示:
>>> int("1")
1
>>> int("h") # valueError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'h'
答案 1 :(得分:2)
您的问题似乎是,dx和dy是两个不同长度的数组,dx的长度为3312,dy的长度为0。 更好地检查dy是否设置正确。
如果我用两个长度为6和0的数组重现你的问题,我会得到同样的错误,如果我使用两个长度相同的数组,那就可以了。