有无论如何计算位置的坐标点使用一个n * n距离矩阵?

23日视图(30天)
如果有n个点的二维坐标,它是相对容易计算距离矩阵使用他们的位置。然而,我们可以计算使用n * n n个点的位置距离矩阵?会有一个以上的解决方案?结果与相同的“形状”应被视为一个解。
说,如果只有3分和一个3 * 3的距离矩阵,很容易得到一个三角形,只有一个可能的形状。但如果n > 3,它还站吗?

接受的答案

Meme的年轻
Meme的年轻 2021年3月27日
我发现了一种mwthod mdscale()来做这样的事情。但是首先,你必须知道什么是维度的坐标。

答案(1)

大卫Goodmanson
大卫Goodmanson 2021年1月21日
嗨Meme,
首先,如果你是点之间的距离,你可以将所有的点在二维平面上(两个自由度),以及你可以旋转起来(一个自由度),而不更改任何距离。所以有三个点坐标,必须从一开始就被定义。假设点1是被翻译,是在原点,点2点右边的地方1,x轴的旋转。之后,您需要定义剩余2 * n - 3点坐标通过使用距离矩阵。
一个nxn距离矩阵与0对角线上是对称的,所以它有n (n - 1) / 2独立元素。当n = 3,仍有3矩阵元素定义3点坐标,精确算出,正如你指出。但对于n > = 4。你有更多的距离条件比坐标(6 n = 4), (5 n = 4)问题是overspecified。距离矩阵并不是任意的。它必须满足一些条件。较大的n, overspecificaton越多。和定义的形状是独特的。
除此之外,如果你整个翻过来,180度的x轴,没有起点坐标和距离变化。例如,这将把R形状变成一个向后R形状,所以你需要决定是否算得上不同。
1评论
Meme的年轻
Meme的年轻 2021年1月21日
你好大卫,
你提出了非常有价值的东西。有示例代码显示你说什么?这有点抽象,我不能想象在我的脑海里

登录置评。

下载188bet金宝搏


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!