标签: matlab
我有一个坐标矢量:
a=[1 2]
我想找到以下三个坐标中的哪一个最接近a
a
b=[1 3; 4 2; 4 1]
有一种简单的方法吗?
我尝试从a中减去b,但我不知道如何从输出中选择最低值
我想计算|| a-b || ^ 2,所以假设a和b是2维轴上的坐标。我想找到b中最接近
答案 0 :(得分:3)
使用pdist计算距离,min计算距离。
min
答案 1 :(得分:1)
假设您的意思是欧几里德距离,您可以使用hypot,然后使用min的第二个输出:
hypot
[~, ind] = min(hypot(b(:,1)-a(1), b(:,2)-a(2)));
结果ind给出了最小化距离的b行的索引。
ind
b
答案 2 :(得分:0)
可以使用'min'功能选择最低值。
[~,index] = min(sum(abs(bsxfun(@minus,b,a)),2))
假设您按照L_1规范定义“最接近”。
答案 3 :(得分:-1)
norm(a - b)将计算两点之间的距离
norm(a - b)