20 lines
631 B
Python
20 lines
631 B
Python
import numpy as np
|
||
|
||
# 定义向量
|
||
A = np.array([1, 2, 3])
|
||
B = np.array([4, 5, 6])
|
||
|
||
# 1. 计算点积A·B
|
||
dot_product = np.dot(A, B)
|
||
print("A·B =", dot_product)
|
||
|
||
# 2. 计算余弦相似度
|
||
cos_sim = np.dot(A, B) / (np.linalg.norm(A) * np.linalg.norm(B))
|
||
print("余弦相似度 =", cos_sim)
|
||
|
||
# 3. A = [1,0], B = [0,1]的余弦相似度
|
||
A_new = np.array([1, 0])
|
||
B_new = np.array([0, 1])
|
||
cos_sim_new = np.dot(A_new, B_new) / (np.linalg.norm(A_new) * np.linalg.norm(B_new))
|
||
print("A=[1,0], B=[0,1]的余弦相似度 =", cos_sim_new)
|
||
print("原因:两个向量正交(点积为0),方向完全垂直,所以余弦相似度为0") |