2013-12-11 159 views
-1

我有坐标的载体:查找该向量最接近的值到另一个向量

a=[1 2] 

我想找到其中以下三个坐标最接近a

b=[1 3; 4 2; 4 1] 

是有一个简单的方法来做到这一点?

我试图从一个从其减去B,但我不知道如何从输出选择最低值

我想计算|| AB ||^2,所以假设a和b坐标在2维坐标轴上。我想找到b中最近的点

+0

你如何定义“最接近”? 'b'中的所有矢量都与'a'相交。所以尽可能靠近。请隐藏你的问题。 – thewaywewalk

+0

看编辑,希望它现在更清楚 – user1723765

回答

0

可以使用'min'功能选择最小值。

[~,index] = min(sum(abs(bsxfun(@minus,b,a)),2)) 

假设您正在通过L_1规范定义“最接近”。

+0

看我的编辑,我希望它现在更清晰 – user1723765

3

使用pdist来计算距离和min以获得最小值。

+1

+1,好的答案,但只有当你有统计工具箱时才有效。 –

1

之间的距离假设你的意思欧几里德距离,则可以使用hypot然后的min第二输出:

[~, ind] = min(hypot(b(:,1)-a(1), b(:,2)-a(2))); 

结果ind给出的索引最小化距离的行b

相关问题