微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

计算不同长度的两个向量之间的距离

有不同的方法来计算两个相同长度的矢量之间的距离:欧几里德曼哈顿,汉明…

我想知道任何可以计算不同长度的向量之间的距离的方法.

解决方法

欧几里德距离公式找出了欧几里德空间中任意两点之间的距离.

欧几里德空间中的一点也被称为欧几里德矢量.

您可以使用欧氏距离公式来计算两个不同长度的向量之间的距离.

对于不同维度的矢量,适用相同的原理.

假设较低维度的向量也存在于较高维空间中.然后,您可以将较低维度向量中的所有缺少的组件设置为0,以使两个向量具有相同的维度.然后,您将使用上述任何距离公式来计算距离.

例如,考虑R 2中的成分(a1,a2)的2维向量A和R 3中的具有成分(b1,b2,b3)的3维向量B.

要在R中表达A,您可以将其组件设置为(a1,a2,0).那么,A和B之间的欧几里得距离d可以用公式:

d² = (b1 - a1)² + (b2 - a2)² + (b3 - 0)²

d = sqrt((b1 - a1)² + (b2 - a2)² + b3²)

对于您的具体情况,组件将为0或1,因此所有差异将为-1,0或1.平方差仅为0或1.

如果您使用整数或单个位来表示组件,则可以使用简单的按位操作而不是某些算术(^表示XOR或排除或):

d = sqrt(b1 ^ a1 + b2 ^ a2 + ... + b(n-1) ^ a(n-1) + b(n) ^ a(n))

我们假设A的尾随组件为0,因此最终公式为:

d = sqrt(b1 ^ a1 + b2 ^ a2 + ... + b(n-1) + b(n))

原文地址:https://www.jb51.cc/java/125157.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐