如何在两个矩阵之间找到最近的两个点?

时间:2015-11-29 15:01:54

标签: matlab matrix coordinates point closest

我有

X = (Yt.*sin(W))-(Xt.*cos(W));
Y = (Yt.*cos(W))+(Xt.*sin(W));  % which give the coordinates X and Y. 
X_inv = R.*sin(B_involute); 
Y_inv = R.*cos(B_involute);     % which give the coordinates X_inv and Y_inv.

我需要找到XYX_invY_inv之间最接近的两个点。

从此感谢非常感谢。

2 个答案:

答案 0 :(得分:1)

我会给你一些线索:

  1. 使用loops迭代两个矩阵中的每个X和Y元素。
  2. 使用Euclidean Distance获取当前点之间的距离。
  3. 尽量减少所有距离。

答案 1 :(得分:1)

您可以使用pdist2

有效地计算成对距离
unset($array[0]);
$array = array_values($array); // array(0: World)

一旦你有成对距离,就很容易找到最小距离

string

将Conver线性索引转换为对索引

D = pdist2( [X(:) Y(:)], [X_inv(:) Y_inv(:)] );

结果

[md mi] = min(D(:));
相关问题