向量之间的角度 - 只能将长度-1阵列转换为Python标量



我有两个2D向量V0L和V1L。

def magnitude(v1):
    return(np.sqrt(v1[0]**2 +v1[1]**2))
def angle(v1, v2):
    return acos(np.dot(v1, v2) / (magnitude(v1) * magnitude(v2)))
angle(v0L,v1L)

为什么这会给我一个"只能将长度1阵列转换为python标量"错误?

非常感谢您!

acos更改为 np.arccos。如果acos是指math.acos

,您可以获得该错误
In [9]: math.acos(np.ones(2))
TypeError: only length-1 arrays can be converted to Python scalars
In [11]: np.arccos(np.ones(2))
Out[11]: array([ 0.,  0.])

math.acos期望标量(或长度1数组(作为输入。np.arccos可以接受numpy阵列(或标量(。

最新更新