我有两个列向量 [a b] 和 [c d]。我只想选择 'a' 中的那些数据点,其中 'c' 匹配 'a' 以及相应的 'b' 值。由于“a”中有一些重复,这使得“ismember”命令无法正常工作。 “For loop”是另一种选择,但列向量的大小对于制作循环来说太大了。下面给出了一个简短的例子。任何解决方案?谢谢
[a b]
答案=
1.0000 0.1000
2.0000 0.2000
2.0000 0.2000
3.0000 0.4000
4.0000 0.5000
[c d]
答案=
2 7
3 12
最佳答案
如果我理解正确,解决方案是从:
[a idx] = unique(a);
b = b(idx);
这样你就删除了 a 的所有重复出现,所以现在你可以只使用常规方法,如 ismember
或 intersect
。
关于matlab - 在 matlab 中使用 ismember 或 intersect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160386/