2016-11-26 182 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