python求两个向量的夹角

python求两个向量的夹角

import numpy as np
x=np.array([3,5])
y=np.array([4,2])
# 两个向量
Lx=np.sqrt(x.dot(x))
Ly=np.sqrt(y.dot(y))
#相当于勾股定理,求得斜线的长度
cos_angle=x.dot(y)/(Lx*Ly)
#求得cos_sita的值再反过来计算,绝对长度乘以cos角度为矢量长度,初中知识。。
print(cos_angle)
angle=np.arccos(cos_angle)
angle2=angle*360/2/np.pi
#变为角度
print(angle2)
#x.dot(y) =  y=∑(ai*bi)

矩阵相乘的算法

>> a=[1,2,3;4,5,6;7,8,9];
>> b=[6,6,6;6,6,6;6,6,6];
>> dot(a,
ans =

    72    90   108
1*6+4*6+7*6=72
#三个相加

#dot 是矩阵相乘

#print(np.dot(x,x))

#34

# a=np.linalg.norm(x-y)
# print(a)
costheta=x.dot(y)/(np.linalg.norm(x)*np.linalg.norm(y))
#范数
# #[-1  3]
# a=np.square(x-y)
# #[1,9]
# print(np.sum(a))
# #10
# print(np.sqrt(10))

你可能感兴趣的:(python求两个向量的夹角)