计算相同维度向量之间的欧氏距离

计算如x1 = [1, 2, 3, 4, 5]和x2 = [6, 7, 8, 9, 10]之间的欧氏距离。代码如下:

% input same dimension vector
function distance = vecDis(x,y)
v_length = length(x);
d = 0;
for i = 1:1:v_length
    z(i) = (x(i) - y(i))^2;
    d = d + z(i);
end
distance = sqrt(d);

测试一下,对比代码:

x3 = [1     0     0     0     1     1];
x4 = [2     1     0     2     2     1];
d34 = (x3 - x4).^2;
d = sqrt(sum(d34(:)));
d = 2.6458;
vecDis(x3,x4)
2.6458

哈哈,测试通过,方便多了,但只能输入相同维度的向量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容