我不明白这个问题。实际上就是这一部分; “给定两个长度为n的向量,用一维数组表示”
我使用了两个向量,但我不知道它们有什么价值。
例如,
矢量可以是a = [1,2,3]
但我不确切知道他们是什么?他们有什么?
也许是a = [3,4,5]
。
答案 0 :(得分:2)
您不需要numpy
做一些简单的事情。
而只是将公式转换为Python代码:
import math
a = [1, 2, 3]
b = [3, 4, 5]
n = len(a)
# Compute Euclidean distance between vectors "a" and "b".
# First sum the squares of the difference of each component of vectors.
distance = 0
for i in range(n):
difference = a[i] - b[i]
distance += difference * difference
# The answer is square root of those summed differences.
distance = math.sqrt(distance)
print(distance) # -> 3.4641016151377544
答案 1 :(得分:0)
如果给出了向量a
和b
,您的任务是编写计算值的代码。你的工作不是记下一个数字。
你可以从这开始:
distance = 0
for value in a:
[your code]
print(distance)
答案 2 :(得分:-1)
你可以使用numpy。那么你所谓的向量就会对应于numpy数组。
import numpy as np
np.sqrt(np.sum(np.power(a-b,2)))
您可能需要在
之前添加此内容a, b = np.array(a),np.array(b)