如何用二维而不是一维表示欧几里得距离?

时间:2018-12-11 11:37:19

标签: python math euclidean-distance

我有两个变量,它们包含一个称为ab的300维向量数组。每个向量值的最小值为-10.0,最大值为10.0

我的目标是可视化二维空间中的距离

问题

在一维中可视化相对容易。我取a的向量和b的向量,计算欧几里得距离,就可以在一维上可视化。但是我现在想在x轴和 y轴上显示可视化。

伪Python

a = [0.1, 0.343423, -2.9008, etc...]
b = [-0.3455, -6.03983, 9.098, etc...]
distance = calculateEuclidean(a, b)
print(distance) # 6.39878 | this is 1 dimension... How to make it 2?

欢迎使用任何编程语言的示例:-)

PS:
我的问题不是关于如何计算欧几里得距离(Stackoverflow充满了它),而是关于如何用二维而不是一维表示它。

2 个答案:

答案 0 :(得分:0)

欧氏距离由

给出

Formula here

结果始终是标量。如果要计算单个尺寸,则应使用

{{1}}

答案 1 :(得分:0)

您可以轻松地用R语言进行 通过将2个向量表示为矩阵。

B = matrix(c=(2,3,4,3,8,2)
       nrow=3,
       ncol=2)
B gives you
 [,1] [,2] 
 [1,]    2    3 
 [2,]    4    3 
 [3,]    8    2

 v1 = (2,4,8)
 v2 = (3,3,2)

您可以使用矩阵标准操作 喜欢换位。深入研究文档。

欧氏距离

rdist 来自软件包 fields

rdist(x1, x2)

给出两个矩阵,以计算距离

p代表 Minkowski power

对于欧几里得使用欧几里得。

rdist(X, metric = "euclidean", p = 2L)

"euclidean": sqrt(sum_i((v_i - w_i)^2))

"minkowski": (sum_i(|v_i - w_i|^p))^{1/p}