我想找到向量中一系列相等元素的第一个元素。 例如我有
V = [1 2 2 2 3 3 3 4 4 2 2 3 3 4 4]
我的结果应该是
R = [1 2 3 4 2 3 4]
不幸的是我不能使用 unique
因为它会给我
R = [1 2 3 4];
谢谢
最佳答案
这适用于这种特殊情况:
R=V(find(diff([-Inf V])));
与
相同 R=V(abs(diff([-Inf V]))>0);
(最后一个,正如 Praetorian 所指出的,可以更更整洁地表达为
R=V(diff([-Inf V])~=0);
节省您对 abs
的使用
最后,如果你想变得非常合乎逻辑,
R=V(~~diff([-Inf V]));
也有效
关于matlab - 检测向量的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18963912/