Vik*_*ram 7 matlab distance matrix
我有一个约144分的地区.我想要实现的是测量点与所有其他点的距离并将其存储在数组中.我想为所有要点做这件事.如果可能的话,我希望以不重复的方式存储这些数据.而且我应该可以进行如下查询:所有点之间的所有距离都不重复,点56的所有距离之和等等.
我有一个3*144阵列,有两列存储点的坐标.
一个可能的解决方案(虽然没有重复,但我不清楚你的意思):
X are your points with coordinates x = X(:,1), y = X(:,2)
dist = sqrt(bsxfun(@minus,X(:,1),X(:,1)').^2 + bsxfun(@minus,X(:,2),X(:,2)').^2)
Run Code Online (Sandbox Code Playgroud)
所以
dist(i,j) is the euclidean distance between i and j
Run Code Online (Sandbox Code Playgroud)
当然矩阵是对称的.您可以轻松降低所涉及的复杂性.