我想删除重复的'on'行,也删除'off'行,因为它是多余的,从'off'开始对我的脚本不利。
似乎与独特的'第一'论证应该有所帮助,但我没有快乐。
有什么建议吗?
答案 0 :(得分:2)
使用unique与'rows'参数而不是'first'来删除重复的'on'。要删除'off',一个简单的解决方案是首先将all设置为'on',然后使用unique。
A = [50 1 70; 50 0 70; 50 1 70]
A =
50 1 70
50 0 70
50 1 70
A(:,2) = 1 %Set all on/off values to 'on'
A =
50 1 70
50 1 70
50 1 70
R = unique(A,'rows')
R =
50 1 70
编辑:要仅在两个相邻行相等时删除“关闭”行,您需要比较邻居行。有很多方法可以做到这一点,但这里有一个我快速制作的一般 Nx3 矩阵
rows = 2:length(A)-1;
p=find(all(A(rows+1,:)==A(rows-1,:),2)); %Get index of where rows are equal
A(rows(p),2) = 1; Set those rows to be 'on', so they can be removed by unique