从数组中删除重复的连续元素

时间:2016-11-26 14:27:27

标签: arrays matlab

在MATLAB中我需要一些关于数组的帮助:
想象一下有这样的数组

a = [1,1,1,1,2,2,4,4,4,7,7,7,1,1,1,1]  

并希望得到这个数组:

b = [1,2,4,7,1]

我该怎么做?

2 个答案:

答案 0 :(得分:3)

只需使用diff符号索引数组:

b = a( [true  logical( diff(a(:)).') ] )
b =

     1     2     4     7     1

答案 1 :(得分:0)

a = [1,1,1,1,2,2,4,4,4,7,7,7,1,1,1,1];
b = [];
length = size(a);
i = 1;
while i<=length 
    if(a(1,i) ~= a(1,i-1))
        b(1,i) = a(1,i);
    end
    i = i+1;
end
disp(b);
希望它会有所帮助。