我发现了一种mwthod mdscale()来做这样的事情。但是首先,你必须知道什么是维度的坐标。
有无论如何计算位置的坐标点使用一个n * n距离矩阵?
32视图(30天)
显示旧的评论
答案(1)
大卫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形状,所以你需要决定是否算得上不同。