matlab-两个结构点的唯一pai之间的最小欧几里德距离
我有一个结构的6个点和第二个结构的5个点之间的距离矩阵:matlab-两个结构点的唯一pai之间的最小欧几里德距离,matlab,unique,distance,Matlab,Unique,Distance,我有一个结构的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.
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最接近。我不允许有一个点离另外两个点最近。
如何获得这些闭合点的唯一对?
我想我应该核实一下前两个最小值之间是否存在微小的差异。问题的症结总是在另外两个问题的中间。
我需要得到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
另外,我希望有人能解释其他输出的含义以及它们何时有用。你用Matlab标记了这个问题,但没有Matlab代码。你能详细说明这个问题与Matlab的关系吗?我不明白你想要什么。你可能需要更好地解释它。另外,当它不是对称的,对角线不是零时,它怎么可能是一个距离矩阵?@LuisMendo它是两个结构的6到5个点之间的距离矩阵。我应该给出结构的xyz坐标吗?啊,我搞错了,对不起。现在我明白矩阵的意思了。不过,我认为这可能会让读者感到困惑。你应该澄清这一部分,以及问题的其余部分,这样你可以得到帮助。我没有Matlab2019a的访问权限,但看起来很有希望。我真的很想有人来试试D
a1
和a2
分别是不匹配的行和列。所以第5行没有使用最小值,但所有5列都匹配,如果行多于列,这是有意义的。谢谢你尝试一下!:)