我正在使用pdist来计算三维点之间的欧几里得距离(在Matlab中)。但是,我有一些坐标不能从矩阵中删除,但我希望pdist忽略它们。
我已经尝试用NaN来覆盖我想忽略的值,但是pdist仍然在计算中使用它们,有没有办法让pdist在它的过程中忽略一个值呢?
发布于 2012-03-10 04:34:37
我不知道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中,所以我无法获得真正的输出,但想法是存在的!)
https://stackoverflow.com/questions/9640541
复制相似问题