递归编程入门:从基础到应用
1. 递归编程基础
1.1 向量夹角余弦计算
在编程中,我们常常需要计算向量之间的夹角余弦。下面是实现这一功能的代码:
import math
def dot_product(u, v):
s = 0
for i in range(0, len(u)):
s = s + u[i] * v[i]
return s
def norm_Euclidean(v):
return math.sqrt(dot_product(v, v))
def cosine(u, v):
return dot_product(u, v) / norm_Euclidean(u) / norm_Euclidean(v)
# Example
a = [2, 1, 1]
b = [1, 0, 1]
print(cosine(a, b))
上述代码中, dot_product 函数用于计算两个向量的点积, norm_Euclidean 函数用于计算向量的欧几里得范数, cosine 函数则根据点积和范数计算两个向量夹角的余弦。
在执行这段代码时,函数调用和返回的顺序非常重要。例如,在调用 cosine 函数时,它会先调用 dot_product 函数计算点积,再调用 norm_Euclidean 函数计算范数。只有当所有被调用
超级会员免费看
订阅专栏 解锁全文
882

被折叠的 条评论
为什么被折叠?



