欧氏距离(八度)


17

我想知道是否存在一种快速方法来计算八度中两个向量的欧几里得距离。似乎没有特殊的功能,所以我应该只使用带有的公式sqrt吗?


这可能被否决了,因为这是一个基本问题,您应该可以通过查看Octave文档或进行适当的Internet搜索找到答案。但是,我确实看到,搜索“八度欧几里得距离”或“八度欧几里得距离”不会产生与“八度范数”一样快的有用结果。
伊莱恩·黑尔

意见建议:下次,Google类似“两个向量之间的Matlab距离”。Mathworks具有易于查找的集中文档(您应该找到官方的Octave文档手册,但是找到它可能需要一些工作)。对于这种简单的事情,八度中具有相同名称的函数可能会执行相同的操作。
Stefan Smith

关于这个问题的统计数据可以说明一切。
boatcoder '17年

Answers:


32

两个向量之间的欧式距离是它们差的两个范数,因此

d = norm( x1 - x2 , 2 );

应该在八度音阶中达到目的。请注意,如果norm省略了to的第二个参数,则默认使用2范数。



0

这是一种计算向量数组(X)与单个向量之间距离的方法(X(1, :)例如,):

distances = sqrt(sum((X - X(1, :)) .^ 2, 2));
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.