如何使pdist忽略一个值(Matlab)

时间:2012-03-09 20:29:17

标签: matlab ignore euclidean-distance

我正在使用pdist计算三维点之间的欧几里德距离(在Matlab中)。但是我有一些我无法从矩阵中删除的坐标,但我希望忽略pdist

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

1 个答案:

答案 0 :(得分: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中行的索引。 (pdist似乎不存在于我的matlab中,所以我无法得到真正的输出,但这个想法就在那里!)