0

pdist用来计算三维点之间的欧几里得距离(在 Matlab 中)。但是,我有一些无法从矩阵中删除的坐标,但我想pdist忽略它们。

我尝试用 's 覆盖我想忽略的值NaN,但pdist仍然在计算中使用它们。有没有办法让 pdist 在它的过程中忽略一个值?

4

1 回答 1

0

我不知道pdist,但看起来您需要删除某些行才能使其按您想要的方式工作。如果要查找不需要的行的索引,可以执行以下操作:

d = [1,2,3;2,3,4;3,4,5]
d =
    1   2   3
    2   3   4
    4   5   6
i = [1 3]
d(i,:)
    1   2   3
    4   5   6
id = pdist(d(i,:)) % assume id=2
real_index = i(id) % now the real index is i(2)=3

现在您将在real_index. (我的matlab中似乎不存在pdist,所以我无法获得真正的输出,但想法就在那里!)

于 2012-03-09T20:34:36.607 回答