2016-11-26 149 views
1

重复连续元素我需要一些帮助,阵列在MATLAB:
想象一下,有这样删除阵列

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

到一个数组中,并想获得此阵:

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

哪有我这样做?

回答

3

只是索引你的阵列,它diff erences:

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

b = 

    1  2  4  7  1 
+1

好点....! – rahnema1

+0

它返回此错误:使用horzcat的错误 串联的矩阵的大小不一致。 – Furla94

+0

@ Furla94它不会给您的示例数据的错误 –

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); 

希望这将有助于。

+0

错误:下标索引必须是真正的正整数或逻辑。 – Furla94