matlab - 两个结构的唯一点对之间的最小欧氏距离
matlab - minimum euclidian distances between unique pais of points of two structures
我在一个结构的 6 个点和第二个结构的 5 个点之间有这个距离矩阵:
a = [2.565 0.394 2.927 2.774 1.600;
0.402 1.950 3.272 2.086 0.985;
2.965 3.250 1.720 0.841 2.305;
2.797 2.050 0.830 0.829 1.585;
3.865 2.662 1.246 2.086 2.634;
1.592 0.977 2.305 1.579 0.274]
我需要点之间的最小距离。有时我在另一个结构的两点之间得到一个点。 0.274 0.394 0.402 0.830 0.829
这意味着我将得到第 4 点(来自 6 点结构)最接近来自其他结构的第 3 点和第 4 点。我不允许有一个点最接近另外两个点。
我如何获得这些接近点的独特对?
我想我应该验证连续的前 2 个最小值之间是否存在微小差异。有问题的点总是在其他两个点的中间。
我需要得到 0.274 0.394 0.402 0.830 0.841
(见答案 1)。
我的原始代码是:
for i = 1 : 6
mins(i) = min(a(i, :));
end
mins = sort(mins);
mins = mins(1 : 5);
谢谢。
非常感谢烧杯,我希望这个问题能得到另一个答案,
[pairs,a1,a2]=matchpairs(a,1,'min')
pairs =
2 1
1 2
4 3
3 4
6 5
a1 =
5
a2 =
0×1 empty double column vector
我也希望有人解释其他输出的含义以及它们什么时候有用。
我在一个结构的 6 个点和第二个结构的 5 个点之间有这个距离矩阵:
a = [2.565 0.394 2.927 2.774 1.600;
0.402 1.950 3.272 2.086 0.985;
2.965 3.250 1.720 0.841 2.305;
2.797 2.050 0.830 0.829 1.585;
3.865 2.662 1.246 2.086 2.634;
1.592 0.977 2.305 1.579 0.274]
我需要点之间的最小距离。有时我在另一个结构的两点之间得到一个点。 0.274 0.394 0.402 0.830 0.829
这意味着我将得到第 4 点(来自 6 点结构)最接近来自其他结构的第 3 点和第 4 点。我不允许有一个点最接近另外两个点。
我如何获得这些接近点的独特对?
我想我应该验证连续的前 2 个最小值之间是否存在微小差异。有问题的点总是在其他两个点的中间。
我需要得到 0.274 0.394 0.402 0.830 0.841
(见答案 1)。
我的原始代码是:
for i = 1 : 6
mins(i) = min(a(i, :));
end
mins = sort(mins);
mins = mins(1 : 5);
谢谢。
非常感谢烧杯,我希望这个问题能得到另一个答案,
[pairs,a1,a2]=matchpairs(a,1,'min')
pairs =
2 1
1 2
4 3
3 4
6 5
a1 =
5
a2 =
0×1 empty double column vector
我也希望有人解释其他输出的含义以及它们什么时候有用。