MATLAB: How to remove non consecutive values from a vector

for loopMATLAB

I have the following vector that represents how many times consecutive values appear in a row by using the following code:
x = [5 3 3 1 0 9 9 4 4 4 4 5 1 2 2];
y=[]
for i = 1:length(x)
a = length(find(x(1:i)==x(i)));
y=[y,a];
end
and I want a code to remove the 2 2 subelements from the resultant y matrix.
y= [1 1 2 1 1 1 2 1 2 3 4 2 2 1 2]

Best Answer

y= [1 1 2 1 1 1 2 1 2 3 4 2 2 1 2]
idx=find(abs(diff(y))==2)+1;
y(idx:idx+1)=1